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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffff8a8
xor edi, edi
xor esi, esi
mov dword [esp], eax
mov eax, dword [esp]
mov edx, dword [eax + 0x68]
mov dword [esp + 4], edx
mov eax, dword [esp]
mov ebx, dword [esp + 4]
mov edx, dword [eax]
xor eax, eax
mov dword [esp + 8], edx
mov byte [esp + 0xc], 0
mov ecx, dword [esp + 8]
mov cl, byte [ecx + 0x54]
mov byte [esp + 0xd], cl
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov edx, dword [esp]
xor eax, eax
mov ecx, dword [edx + 0x58]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
and eax, 0x400
xor edx, edx
cmp edx, 0
jne 0x5e810c
cmp eax, 0
setne cl
and ecx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esp]
cmp dword [ecx + 0xa0], 0
je 0x5e812a
mov eax, dword [esp]
call fcn.00632f00
mov edx, dword [esp + 8]
cmp dword [edx + 0x17c], 0
je 0x5e816e
mov ecx, dword [esp]
mov eax, dword [ecx + 0xb4]
mov dword [esp + 0x38], eax
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x38]
mov ecx, dword [edx + 0x184]
xor edx, edx
div ecx
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x184]
sub eax, edx
xor edx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
jmp 0x5e817e
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x20], 0xffffffff
mov ecx, dword [esp]
cmp dword [ecx + 0x24], 7
jne 0x5e818c
jmp 0x5f0a3e
mov ecx, dword [esp]
xor eax, eax
mov dword [ecx + 0x24], eax
mov edx, dword [esp]
mov dword [edx + 0x38], 0
mov dword [edx + 0x3c], 0
mov ecx, dword [esp + 8]
xor eax, eax
mov dword [ecx + 0x1d0], eax
mov edx, dword [esp + 8]
cmp dword [edx + 0x130], 0
jne 0x5f0a63
mov eax, dword [esp]
mov ebx, dword [eax + 0x20]
shl ebx, 3
lea ebx, [ebx + ebx*4]
add ebx, dword [esp + 4]
add dword [esp + 0x14], 1
adc dword [esp + 0x18], 0
cmp dword [esp + 0x34], 0
je 0x5e81f8
add dword [ebx + 0x18], 1
adc dword [ebx + 0x1c], 0
lea edi, [ebx + 0x20]
call fcn.0064721c
sub dword [edi], eax
sbb dword [edi + 4], edx
xor eax, eax
mov al, byte [ebx]
cmp eax, 0xb8
ja case.0x5e8207.89
jmp dword [eax*4 + 0x5e820e]
mov edx, dword [ebx + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 4]
add edx, 0xffffffd8
mov ebx, edx
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x130], 0
jne 0x5f0a63
jmp 0x5e855d
mov ecx, dword [esp + 8]
xor edx, edx
mov eax, dword [ecx + 0x184]
add dword [esp + 0x1c], eax
adc dword [esp + 0x20], edx
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 8]
mov eax, dword [ecx + 0x180]
call dword [ebp + 0x17c]
test eax, eax
je 0x5e855d
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x20], 0xffffffff
mov esi, 9
jmp 0x5f0895
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x20]
jne 0x5e856f
cmp eax, dword [esp + 0x1c]
jb case.0x5e8207.89
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x17c], 0
jne 0x5e8517
jmp case.0x5e8207.89
mov ecx, dword [ebx + 4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov ecx, 0x28
mov eax, dword [esp + 0x28]
mov word [eax + 0x10], 4
mov eax, ebx
sub eax, dword [esp + 4]
cdq
idiv ecx
mov ecx, dword [esp + 0x28]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5e8207.9
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x28]
test byte [edx + 0x10], 4
je 0x5e85f5
cmp dword [ebx + 0xc], 0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ebx, eax
shl ebx, 3
lea ebx, [ebx + ebx*4]
add ebx, dword [esp + 4]
jmp case.0x5e8207.89
cmp dword [ebx + 0xc], 0
je case.0x5e8207.89
jmp case.0x5e8207.89
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x2c]
dec eax
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x2c]
mov word [ecx + 0x10], 4
cmp dword [ebx + 8], 0
je case.0x5e8207.89
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 4]
add eax, 0xffffffd8
mov ebx, eax
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov edx, eax
mov eax, ebx
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 4]
mov dword [esp + 0x3c], edx
mov ecx, dword [esp]
sub eax, dword [ecx + 0x68]
mov ecx, 0x28
cdq
idiv ecx
dec eax
mov ecx, dword [esp + 0x28]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov eax, dword [esp + 0x3c]
mov ebx, dword [eax + 8]
shl ebx, 3
lea ebx, [ebx + ebx*4]
add ebx, dword [esp + 4]
add ebx, 0xffffffd8
jmp case.0x5e8207.89
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x28]
mov word [edx + 0x10], 4
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov ecx, 0x28
mov dword [esp + 0x40], eax
mov eax, ebx
sub eax, dword [esp + 4]
cdq
idiv ecx
mov ecx, dword [esp + 0x28]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ebx, dword [esp + 0x40]
shl ebx, 3
lea ebx, [ebx + ebx*4]
add ebx, dword [esp + 4]
jmp case.0x5e8207.89
mov ebp, dword [ebx + 0xc]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
test byte [ebp + 0x10], 1
je case.0x5e8207.89
mov eax, dword [esp]
cmp dword [eax + 0xd8], 0
je 0x5e87b3
cmp dword [ebx + 4], 0
jne 0x5e87b3
mov edx, dword [esp]
mov ecx, dword [edx + 0xd8]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x44]
mov edx, dword [esp]
mov eax, dword [ecx + 4]
mov dword [edx + 0xd8], eax
mov ecx, dword [esp]
dec dword [ecx + 0xe0]
mov eax, dword [esp]
push dword [eax + 0x2c]
push dword [eax + 0x28]
mov eax, dword [esp + 0x10]
call fcn.00635b98
mov eax, dword [esp + 0x44]
call fcn.006338b4
mov dword [esp + 0x48], eax
cmp dword [ebx + 8], 4
jne 0x5e878c
mov edx, dword [esp + 0x48]
mov ecx, dword [esp]
mov eax, dword [ecx + 0x68]
lea edx, [edx + edx*4]
mov edx, dword [eax + edx*8 + 8]
dec edx
mov dword [esp + 0x48], edx
mov ecx, dword [esp]
mov eax, dword [ecx + 0x68]
mov dword [esp + 4], eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x58]
mov dword [esp + 0x24], ecx
mov ebx, dword [esp + 0x48]
shl ebx, 3
lea ebx, [ebx + ebx*4]
add ebx, dword [esp + 4]
jmp case.0x5e8207.89
mov eax, dword [esp]
mov edx, dword [ebx + 4]
mov dword [eax + 0x24], edx
mov ecx, dword [esp]
mov al, byte [ebx + 8]
mov byte [ecx + 0x94], al
mov edx, dword [esp]
cmp dword [edx + 0x24], 0
je 0x5e8876
cmp word [ebx + 2], 0
je 0x5e8826
movzx ecx, word [ebx + 2]
mov ecx, dword [ecx*4 + 0x67a020]
push ecx
push str._s_constraint_failed
mov eax, dword [esp + 8]
push eax
call fcn.00631c34
add esp, 0xc
cmp dword [ebx + 0x10], 0
je 0x5e883c
mov edx, dword [ebx + 0x10]
push edx
mov ecx, dword [esp + 4]
mov eax, dword [ecx + 0x7c]
push eax
push str._z:__s
mov edx, dword [esp + 0x14]
push edx
call fcn.00644ba0
add esp, 0x10
mov edx, dword [esp]
mov dword [edx + 0x7c], eax
jmp 0x5e883c
mov eax, dword [ebx + 0x10]
push eax
push 0x67a0af
mov ecx, dword [esp + 8]
push ecx
call fcn.00631c34
add esp, 0xc
mov eax, ebx
sub eax, dword [esp + 4]
mov ecx, 0x28
cdq
idiv ecx
mov dword [esp + 0x48], eax
mov ecx, dword [esp]
mov eax, dword [ecx + 0x7c]
push eax
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0xc8]
push ecx
mov eax, dword [esp + 0x50]
push eax
push str.abort_at__d_in___s_:__s
mov edx, dword [ebx + 4]
push edx
call fcn.00644cf8
add esp, 0x14
mov eax, dword [esp]
call fcn.00633fec
mov esi, eax
cmp esi, 5
jne 0x5e8894
mov eax, dword [esp]
mov dword [eax + 0x24], 5
jmp 0x5f0984
mov edx, dword [esp]
cmp dword [edx + 0x24], 0
je 0x5e88a7
mov esi, 1
jmp 0x5f0984
mov esi, 0x65
jmp 0x5f0984
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x2c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5e8207.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x10]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
jmp case.0x5e8207.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
mov word [ecx + 0x10], 8
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x10]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
jmp case.0x5e8207.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x10]
call fcn.00644e74
mov dword [ebx + 4], eax
xor edx, edx
mov dl, byte [esp + 0xd]
dec edx
je 0x5e89b7
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
mov cl, 1
mov edx, dword [ebx + 0x10]
mov eax, dword [esp + 0x38]
call fcn.00647da4
mov esi, eax
test esi, esi
jne 0x5f0a22
xor edx, edx
mov eax, dword [esp + 0x2c]
mov dl, byte [esp + 0xd]
call fcn.0064729c
test eax, eax
jne 0x5f0a3e
mov ecx, dword [esp + 0x2c]
xor eax, eax
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x2c]
or word [edx + 0x10], 0x2000
cmp byte [ebx + 1], 0xfa
jne 0x5e899f
mov edx, dword [ebx + 0x10]
mov eax, dword [esp + 8]
call fcn.0064cb60
mov byte [ebx + 1], 0xfa
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 8]
mov dword [ebx + 0x10], ecx
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0xc]
mov dword [ebx + 4], edx
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x78]
cmp eax, dword [ebx + 4]
jge 0x5e89c8
jmp 0x5f0a22
mov byte [ebx], 0x49
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x2c]
mov word [edx + 0x10], 0x2202
mov ecx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x10]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x2c]
mov ecx, dword [ebx + 4]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x2c]
mov al, byte [esp + 0xd]
mov byte [ecx + 0x12], al
cmp dword [ebx + 0xc], 0
jle case.0x5e8207.89
mov ebp, dword [ebx + 0xc]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
movzx eax, word [ebx + 2]
cdq
push edx
push eax
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
cmp edx, dword [esp + 4]
jne 0x5e8a30
cmp eax, dword [esp]
pop edx
pop eax
jne case.0x5e8207.89
mov ecx, dword [esp + 0x2c]
mov word [ecx + 0x10], 0x2210
jmp case.0x5e8207.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov ecx, dword [ebx + 0xc]
sub ecx, dword [ebx + 8]
mov dword [esp + 0x4c], ecx
cmp dword [ebx + 4], 0
je 0x5e8a6b
mov cx, 0x101
jmp 0x5e8a6f
mov cx, 1
mov word [esp + 0x50], cx
mov eax, dword [esp + 0x2c]
mov word [eax + 0x10], cx
mov edx, dword [esp + 0x2c]
xor eax, eax
mov dword [edx + 0xc], eax
cmp dword [esp + 0x4c], 0
jle case.0x5e8207.89
add dword [esp + 0x2c], 0x28
mov eax, dword [esp + 0x2c]
call fcn.00647b38
mov edx, dword [esp + 0x2c]
mov cx, word [esp + 0x50]
mov word [edx + 0x10], cx
mov ecx, dword [esp + 0x2c]
xor eax, eax
mov dword [ecx + 0xc], eax
dec dword [esp + 0x4c]
cmp dword [esp + 0x4c], 0
jg 0x5e8a90
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov ax, word [ecx + 0x10]
and ax, 0xffc0
or ax, 1
mov word [edx + 0x10], ax
jmp case.0x5e8207.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
cmp dword [ebx + 0x10], 0
jne 0x5e8b25
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x2c]
call fcn.00647b54
mov eax, dword [esp + 0x2c]
call fcn.006474f0
test eax, eax
jne 0x5f0a3e
jmp 0x5e8b3b
mov eax, dword [ebx + 4]
cdq
push edx
push eax
push 0
xor ecx, ecx
mov edx, dword [ebx + 0x10]
mov eax, dword [esp + 0x38]
call fcn.00647da4
mov ecx, dword [esp + 0x2c]
mov al, byte [esp + 0xd]
mov byte [ecx + 0x12], al
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
mov ecx, dword [esp]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [ecx + 0x64]
add edx, 0xffffffd8
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x54]
call fcn.00647ca8
test eax, eax
je 0x5e8b73
jmp 0x5f0a22
mov edx, dword [ebx + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x2c]
test byte [ecx + 0x11], 0x90
je 0x5e8b97
mov eax, dword [esp + 0x2c]
call fcn.00647b38
mov ecx, 0x14
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x2c]
call fcn.005c83bc
mov edx, dword [esp + 0x2c]
and word [edx + 0x10], 0xafff
mov ecx, dword [esp + 0x2c]
or word [ecx + 0x10], 0x2040
jmp case.0x5e8207.89
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x58], ecx
mov eax, dword [ebx + 4]
mov dword [esp + 0x5c], eax
mov edx, dword [ebx + 8]
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0x5c]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x60]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
call fcn.00647d78
mov edx, dword [esp + 0x2c]
test byte [edx + 0x11], 0x40
je 0x5e8c24
mov eax, dword [esp + 0x2c]
call fcn.0064749c
test eax, eax
je 0x5e8c24
jmp 0x5f0a3e
add dword [esp + 0x28], 0x28
add dword [esp + 0x2c], 0x28
dec dword [esp + 0x58]
jne 0x5e8bfb
jmp case.0x5e8207.89
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x64], edx
mov ecx, dword [ebx + 4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
mov ecx, 0x4000
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
call fcn.00647cec
mov ecx, dword [esp + 0x2c]
test byte [ecx + 0x11], 0x40
je 0x5e8c90
mov eax, dword [esp + 0x2c]
call fcn.0064749c
test eax, eax
je 0x5e8c90
jmp 0x5f0a3e
mov edx, dword [esp + 0x2c]
test byte [edx + 0x11], 8
je 0x5e8caa
test byte [ebx + 2], 2
je 0x5e8caa
mov ecx, dword [esp + 0x2c]
and word [ecx + 0x10], 0xf7ff
mov eax, dword [esp + 0x64]
add dword [esp + 0x64], 0xffffffff
test eax, eax
je case.0x5e8207.89
add dword [esp + 0x2c], 0x28
add dword [esp + 0x28], 0x28
jmp 0x5e8c62
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
mov ecx, 0x4000
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
call fcn.00647cec
jmp case.0x5e8207.89
mov ecx, dword [ebx + 4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x28]
push dword [edx + 4]
push dword [edx]
mov eax, dword [esp + 0x34]
call fcn.00647ba4
jmp case.0x5e8207.89
xor edx, edx
mov eax, dword [esp]
call fcn.00633f6c
mov esi, eax
test eax, eax
je case.0x5e8207.89
jmp 0x5f0895
mov edx, dword [esp]
mov esi, dword [esp]
mov ecx, dword [edx + 0x1c]
add ecx, 2
or ecx, 1
mov dword [esi + 0x1c], ecx
mov eax, dword [ebx + 4]
mov edx, dword [esp]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [edx + 0x78], eax
mov ecx, dword [esp + 8]
cmp byte [ecx + 0x57], 0
jne 0x5f0a3e
mov ecx, dword [esp + 8]
test byte [ecx + 0x5e], 4
je 0x5e8db3
push 0
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0xd8]
mov esi, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov eax, 4
call dword [esi + 0xd4]
mov eax, ebx
mov ecx, 0x28
sub eax, dword [esp + 4]
mov esi, 0x64
cdq
idiv ecx
mov edx, dword [esp]
inc eax
mov dword [edx + 0x20], eax
jmp 0x5f0984
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0xc]
mov ebp, dword [ebx + 8]
shl ebp, 3
shl eax, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x28]
mov cx, word [edx + 0x10]
mov word [esp + 0x70], cx
mov cx, word [ebp + 0x10]
or cx, word [esp + 0x70]
test cl, 1
je 0x5e8e2b
mov eax, dword [esp + 0x2c]
call fcn.00647b38
jmp case.0x5e8207.89
test byte [esp + 0x70], 0x12
jne 0x5e8e5c
xor ecx, ecx
mov dl, byte [esp + 0xd]
mov eax, dword [esp + 0x28]
call fcn.00647560
test eax, eax
jne 0x5f0a3e
mov ecx, dword [esp + 0x28]
mov ax, word [ecx + 0x10]
and ax, 0xfffd
mov word [esp + 0x70], ax
jmp 0x5e8e86
test byte [esp + 0x71], 4
je 0x5e8e86
mov eax, dword [esp + 0x28]
call fcn.006474f0
test eax, eax
jne 0x5f0a3e
mov edx, dword [esp + 0x28]
mov cx, word [edx + 0x10]
and cx, 0xfffd
mov word [esp + 0x70], cx
mov cx, word [ebp + 0x10]
mov word [esp + 0x72], cx
test byte [esp + 0x72], 0x12
jne 0x5e8ebb
xor ecx, ecx
mov dl, byte [esp + 0xd]
mov eax, ebp
call fcn.00647560
test eax, eax
jne 0x5f0a3e
mov cx, word [ebp + 0x10]
and cx, 0xfffd
mov word [esp + 0x72], cx
jmp 0x5e8edf
test byte [esp + 0x73], 4
je 0x5e8edf
mov eax, ebp
call fcn.006474f0
test eax, eax
jne 0x5f0a3e
mov dx, word [ebp + 0x10]
and dx, 0xfffd
mov word [esp + 0x72], dx
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0xc]
add eax, dword [ebp + 0xc]
cdq
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x78]
cdq
cmp edx, dword [esp + 0x6c]
jne 0x5e8f0b
cmp eax, dword [esp + 0x68]
jae 0x5e8f12
jmp 0x5f0a22
jge 0x5e8f12
jmp 0x5f0a22
mov eax, dword [esp + 0x68]
mov edx, eax
mov eax, dword [esp + 0x2c]
add edx, 2
cmp ebp, dword [esp + 0x2c]
sete cl
and ecx, 1
call fcn.006472bc
test eax, eax
je 0x5e8f37
jmp 0x5f0a3e
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov cx, word [edx + 0x10]
and cx, 0xf240
or cx, 2
mov word [eax + 0x10], cx
cmp ebp, dword [esp + 0x2c]
je 0x5e8f71
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
call fcn.005c83bc
mov dx, word [esp + 0x72]
mov word [ebp + 0x10], dx
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov eax, dword [ecx + 8]
mov ecx, dword [edx + 0xc]
mov edx, dword [esp + 0x28]
add eax, dword [ebp + 0xc]
mov edx, dword [edx + 8]
call fcn.005c83bc
mov eax, dword [esp + 0x28]
mov cx, word [esp + 0x70]
mov word [eax + 0x10], cx
xor ecx, ecx
mov cl, byte [esp + 0xd]
dec ecx
jle 0x5e8fae
and dword [esp + 0x68], 0xfffffffe
and dword [esp + 0x6c], 0xffffffff
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 8]
mov byte [ecx + eax], 0
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 8]
mov byte [ecx + eax + 1], 0
mov ecx, dword [esp + 0x2c]
or word [ecx + 0x10], 0x200
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x2c]
mov dword [edx + 0xc], eax
mov ecx, dword [esp + 0x2c]
mov al, byte [esp + 0xd]
mov byte [ecx + 0x12], al
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
mov cx, word [ecx + 0x10]
mov word [esp + 0x74], cx
mov ebp, dword [ebx + 8]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
mov ax, word [ebp + 0x10]
mov word [esp + 0x76], ax
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x2c], edx
mov cx, word [esp + 0x74]
and cx, word [esp + 0x76]
test cl, 4
je 0x5e91df
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [esp + 0x78], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x7c], eax
mov edx, dword [ebp]
mov dword [esp + 0x80], edx
mov edx, dword [ebp + 4]
mov dword [esp + 0x84], edx
mov cl, byte [ebx]
sub cl, 0x6a
je 0x5e9088
dec cl
je 0x5e90a9
dec cl
je 0x5e90ca
dec cl
je 0x5e90eb
jmp 0x5e9151
push dword [esp + 0x7c]
push dword [esp + 0x7c]
lea eax, [esp + 0x88]
call fcn.00646bd8
test eax, eax
jne 0x5e9225
jmp 0x5e91aa
push dword [esp + 0x7c]
push dword [esp + 0x7c]
lea eax, [esp + 0x88]
call fcn.00646c94
test eax, eax
jne 0x5e9225
jmp 0x5e91aa
push dword [esp + 0x7c]
push dword [esp + 0x7c]
lea eax, [esp + 0x88]
call fcn.00646cec
test eax, eax
jne 0x5e9225
jmp 0x5e91aa
cmp dword [esp + 0x7c], 0
jne 0x5e90fd
cmp dword [esp + 0x78], 0
je 0x5e93c1
cmp dword [esp + 0x7c], 0xffffffff
jne 0x5e9126
cmp dword [esp + 0x78], 0xffffffff
jne 0x5e9126
cmp dword [esp + 0x84], 0x80000000
jne 0x5e9126
cmp dword [esp + 0x80], 0
je 0x5e9225
push dword [esp + 0x7c]
push dword [esp + 0x7c]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
call fcn.005c85f4
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
jmp 0x5e91aa
cmp dword [esp + 0x7c], 0
jne 0x5e9163
cmp dword [esp + 0x78], 0
je 0x5e93c1
cmp dword [esp + 0x7c], 0xffffffff
jne 0x5e9181
cmp dword [esp + 0x78], 0xffffffff
jne 0x5e9181
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], 0
push dword [esp + 0x7c]
push dword [esp + 0x7c]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
call fcn.005c8688
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x80]
mov dword [ecx], eax
mov eax, dword [esp + 0x84]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov cx, word [edx + 0x10]
and cx, 0xf240
or cx, 4
mov word [eax + 0x10], cx
jmp case.0x5e8207.89
mov dx, word [esp + 0x74]
or dx, word [esp + 0x76]
test dl, 1
je 0x5e91f8
jmp 0x5e93c1
mov eax, dword [esp + 0x28]
call fcn.005e7da4
mov word [esp + 0x74], ax
mov eax, ebp
call fcn.005e7da4
mov word [esp + 0x76], ax
mov dx, word [esp + 0x74]
and dx, word [esp + 0x76]
test dl, 4
jne 0x5e904b
mov eax, dword [esp + 0x28]
call fcn.0064778c
fstp qword [esp + 0x88]
wait
mov eax, ebp
call fcn.0064778c
fstp qword [esp + 0x90]
wait
mov dl, byte [ebx]
sub dl, 0x6a
je 0x5e925d
dec dl
je 0x5e9278
dec dl
je 0x5e9293
dec dl
je 0x5e92ae
jmp 0x5e92e5
fld qword [esp + 0x88]
fadd qword [esp + 0x90]
fstp qword [esp + 0x90]
wait
jmp 0x5e9373
fld qword [esp + 0x88]
fsubr qword [esp + 0x90]
fstp qword [esp + 0x90]
wait
jmp 0x5e9373
fld qword [esp + 0x88]
fmul qword [esp + 0x90]
fstp qword [esp + 0x90]
wait
jmp 0x5e9373
fld qword [esp + 0x88]
fld dword [0x5f0a78]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x5e93c1
fld qword [esp + 0x88]
fdivr qword [esp + 0x90]
fstp qword [esp + 0x90]
wait
jmp 0x5e9373
mov eax, dword [esp + 0x28]
call fcn.0064772c
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
mov eax, ebp
call fcn.0064772c
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
cmp dword [esp + 0x7c], 0
jne 0x5e931d
cmp dword [esp + 0x78], 0
je 0x5e93c1
cmp dword [esp + 0x7c], 0xffffffff
jne 0x5e933b
cmp dword [esp + 0x78], 0xffffffff
jne 0x5e933b
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], 0
push dword [esp + 0x7c]
push dword [esp + 0x7c]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
call fcn.005c8688
mov dword [esp + 0x738], eax
mov dword [esp + 0x73c], edx
fild qword [esp + 0x738]
fstp qword [esp + 0x90]
wait
push dword [esp + 0x94]
push dword [esp + 0x94]
call fcn.00644de0
test eax, eax
je 0x5e938c
jmp 0x5e93c1
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x90]
mov dword [ecx], eax
mov eax, dword [esp + 0x94]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov cx, word [edx + 0x10]
and cx, 0xf240
or cx, 8
mov word [eax + 0x10], cx
jmp case.0x5e8207.89
mov eax, dword [esp + 0x2c]
call fcn.00647b38
jmp case.0x5e8207.89
cmp dword [ebx + 4], 0
je case.0x5e8207.89
push 0
push 0
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x2c]
call fcn.00647ba4
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ebp, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
shl eax, 3
shl ebp, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x28]
mov cx, word [edx + 0x10]
or cx, word [ebp + 0x10]
test cl, 1
je 0x5e9443
mov eax, dword [esp + 0x2c]
call fcn.00647b38
jmp case.0x5e8207.89
mov eax, ebp
call fcn.0064772c
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
mov eax, dword [esp + 0x28]
call fcn.0064772c
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
mov dl, byte [ebx]
mov byte [esp + 0xb0], dl
xor ecx, ecx
mov cl, byte [esp + 0xb0]
cmp ecx, 0x66
jne 0x5e94a7
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
and dword [esp + 0x98], eax
and dword [esp + 0x9c], edx
jmp 0x5e9687
xor ecx, ecx
mov cl, byte [esp + 0xb0]
cmp ecx, 0x67
jne 0x5e94d6
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
or dword [esp + 0x98], eax
or dword [esp + 0x9c], edx
jmp 0x5e9687
cmp dword [esp + 0xac], 0
jne 0x5e94ee
cmp dword [esp + 0xa8], 0
je 0x5e9687
cmp dword [esp + 0xac], 0
jne 0x5e9504
cmp dword [esp + 0xa8], 0
jae 0x5e955a
jmp 0x5e9506
jge 0x5e955a
mov cl, 0xd1
sub cl, byte [esp + 0xb0]
mov byte [esp + 0xb0], cl
cmp dword [esp + 0xac], 0xffffffff
jne 0x5e952c
cmp dword [esp + 0xa8], 0xffffffc0
jbe 0x5e9545
jmp 0x5e952e
jle 0x5e9545
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
neg eax
adc edx, 0
neg edx
jmp 0x5e954c
mov eax, pe_nt_image_headers32
xor edx, edx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
cmp dword [esp + 0xac], 0
jne 0x5e9570
cmp dword [esp + 0xa8], 0x40
jb 0x5e95b3
jmp 0x5e9572
jl 0x5e95b3
cmp dword [esp + 0x9c], 0
jne 0x5e9588
cmp dword [esp + 0x98], 0
jae 0x5e9598
jmp 0x5e958a
jge 0x5e9598
xor ecx, ecx
mov cl, byte [esp + 0xb0]
cmp ecx, 0x68
jne 0x5e959c
xor eax, eax
jmp 0x5e959f
or eax, 0xffffffff
cdq
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
jmp 0x5e9687
lea edx, [esp + 0x98]
lea eax, [esp + 0xa0]
mov ecx, 8
call fcn.005c83bc
xor ecx, ecx
mov cl, byte [esp + 0xb0]
cmp ecx, 0x68
jne 0x5e9605
mov eax, dword [esp + 0xa8]
mov ecx, eax
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
call fcn.005c8728
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
jmp 0x5e966f
mov eax, dword [esp + 0xa8]
mov ecx, eax
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
call fcn.005c87e4
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
cmp dword [esp + 0x9c], 0
jne 0x5e9645
cmp dword [esp + 0x98], 0
jae 0x5e966f
jmp 0x5e9647
jge 0x5e966f
mov eax, dword [esp + 0xa8]
mov ecx, pe_nt_image_headers32
sub ecx, eax
mov eax, 0xffffffff
mov edx, eax
call fcn.005c8728
or dword [esp + 0xa0], eax
or dword [esp + 0xa4], edx
lea edx, [esp + 0xa0]
lea eax, [esp + 0x98]
mov ecx, 8
call fcn.005c83bc
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x98]
mov dword [ecx], eax
mov eax, dword [esp + 0x9c]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov cx, word [edx + 0x10]
and cx, 0xf240
or cx, 4
mov word [eax + 0x10], cx
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x28]
call fcn.006478bc
mov ecx, dword [esp + 0x28]
mov eax, dword [ebx + 8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x5e8207.89
mov ecx, dword [ebx + 4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x28]
test byte [eax + 0x10], 4
jne 0x5e9737
mov cl, byte [esp + 0xd]
mov dl, 0x43
mov eax, dword [esp + 0x28]
call fcn.005e7c70
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x10], 4
jne 0x5e9737
cmp dword [ebx + 8], 0
jne 0x5e8637
mov esi, 0x14
jmp 0x5f0895
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
mov dx, word [eax + 0x10]
and dx, 0xf240
or dx, 4
mov word [ecx + 0x10], dx
jmp case.0x5e8207.89
mov ecx, dword [ebx + 4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x28]
test byte [eax + 0x10], 0x24
je case.0x5e8207.89
mov eax, dword [esp + 0x28]
call fcn.006478e0
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x11], 4
je 0x5e97aa
mov eax, dword [esp + 0x28]
call fcn.006474f0
mov esi, eax
jmp 0x5e97ac
xor esi, esi
test esi, esi
jne 0x5f0895
mov cl, byte [esp + 0xd]
mov dl, byte [ebx + 8]
mov eax, dword [esp + 0x28]
call fcn.00647a74
mov esi, eax
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov ebp, dword [ebx + 0xc]
mov eax, dword [esp + 0x28]
shl ebp, 3
mov dx, word [eax + 0x10]
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
mov word [esp + 0xbe], dx
mov cx, word [ebp + 0x10]
mov word [esp + 0xc0], cx
mov cx, word [esp + 0xbe]
and cx, word [esp + 0xc0]
test cl, 4
je 0x5e98c4
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
push edx
push eax
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
cmp edx, dword [esp + 4]
jne 0x5e9847
cmp eax, dword [esp]
pop edx
pop eax
jae 0x5e986c
jmp 0x5e984b
pop edx
pop eax
jge 0x5e986c
xor ecx, ecx
mov cl, byte [ebx]
mov eax, dword [0x67f810]
cmp byte [eax + ecx], 0
je 0x5e985f
jmp 0x5e8637
mov dword [esp + 0x10], 1
jmp case.0x5e8207.89
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x28]
cmp edx, dword [ecx + 4]
jne 0x5e9881
cmp eax, dword [ecx]
jae 0x5e98a5
jmp 0x5e9883
jge 0x5e98a5
xor eax, eax
mov al, byte [ebx]
mov edx, dword [0x67f808]
cmp byte [edx + eax], 0
je 0x5e9898
jmp 0x5e8637
mov dword [esp + 0x10], 0xffffffff
jmp case.0x5e8207.89
xor ecx, ecx
mov cl, byte [ebx]
mov eax, dword [0x67f80c]
cmp byte [eax + ecx], 0
je 0x5e98b9
jmp 0x5e8637
xor edx, edx
mov dword [esp + 0x10], edx
jmp case.0x5e8207.89
mov cx, word [esp + 0xbe]
or cx, word [esp + 0xc0]
test cl, 1
je 0x5e9948
test byte [ebx + 2], 0x80
je 0x5e992b
mov ax, word [esp + 0xbe]
and ax, word [esp + 0xc0]
test al, 1
je 0x5e990b
test byte [esp + 0xc1], 1
jne 0x5e990b
xor edx, edx
mov dword [esp + 0xb4], edx
jmp 0x5e9ab2
test byte [esp + 0xc0], 1
je 0x5e991a
or ecx, 0xffffffff
jmp 0x5e991f
mov ecx, 1
mov dword [esp + 0xb4], ecx
jmp 0x5e9ab2
test byte [ebx + 2], 0x10
je 0x5e9936
jmp 0x5e8637
mov dword [esp + 0x10], 1
jmp case.0x5e8207.89
mov al, byte [ebx + 2]
and al, 0x47
mov byte [esp + 0xbc], al
cmp byte [esp + 0xbc], 0x43
jl 0x5e99c0
mov dx, word [esp + 0xbe]
or dx, word [esp + 0xc0]
test dl, 2
je 0x5e9a9d
movzx ecx, word [esp + 0xbe]
and ecx, 0x2e
cmp ecx, 2
jne 0x5e999e
xor edx, edx
mov eax, dword [esp + 0x28]
call fcn.005e7c08
mov cx, word [ebp + 0x10]
mov word [esp + 0xc0], cx
movzx eax, word [esp + 0xc0]
and eax, 0x2e
cmp eax, 2
jne 0x5e9a9d
xor edx, edx
mov eax, ebp
call fcn.005e7c08
jmp 0x5e9a9d
cmp byte [esp + 0xbc], 0x42
jne 0x5e9a9d
mov dx, word [esp + 0xbe]
or dx, word [esp + 0xc0]
test dl, 2
je 0x5e9a9d
test byte [esp + 0xbe], 2
je 0x5e99fd
mov ecx, dword [esp + 0x28]
and word [ecx + 0x10], 0xffd3
jmp 0x5e9a54
test byte [esp + 0xbe], 0x2c
je 0x5e9a54
mov cl, 1
mov dl, byte [esp + 0xd]
mov eax, dword [esp + 0x28]
call fcn.00647560
mov ecx, dword [esp + 0x28]
mov dx, word [esp + 0xbe]
mov ax, word [ecx + 0x10]
and dx, 0xdbf
and ax, 0xf240
or ax, dx
mov word [esp + 0xbe], ax
cmp ebp, dword [esp + 0x28]
jne 0x5e9a54
mov cx, word [esp + 0xbe]
or cx, 2
mov word [esp + 0xc0], cx
test byte [esp + 0xc0], 2
je 0x5e9a66
and word [ebp + 0x10], 0xffd3
jmp 0x5e9a9d
test byte [esp + 0xc0], 0x2c
je 0x5e9a9d
mov cl, 1
mov dl, byte [esp + 0xd]
mov eax, ebp
call fcn.00647560
mov cx, word [ebp + 0x10]
and cx, 0xf240
mov ax, word [esp + 0xc0]
and ax, 0xdbf
or cx, ax
mov word [esp + 0xc0], cx
mov ecx, dword [ebx + 0x10]
mov edx, dword [esp + 0x28]
mov eax, ebp
call fcn.00634e08
mov dword [esp + 0xb4], eax
cmp dword [esp + 0xb4], 0
jge 0x5e9ad3
xor ecx, ecx
mov cl, byte [ebx]
mov eax, dword [0x67f808]
xor edx, edx
mov dl, byte [eax + ecx]
mov dword [esp + 0xb8], edx
jmp 0x5e9b09
cmp dword [esp + 0xb4], 0
jne 0x5e9af4
xor ecx, ecx
mov cl, byte [ebx]
mov eax, dword [0x67f80c]
xor edx, edx
mov dl, byte [eax + ecx]
mov dword [esp + 0xb8], edx
jmp 0x5e9b09
xor ecx, ecx
mov cl, byte [ebx]
mov eax, dword [0x67f810]
xor edx, edx
mov dl, byte [eax + ecx]
mov dword [esp + 0xb8], edx
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0x10], ecx
mov ax, word [esp + 0xc0]
mov word [ebp + 0x10], ax
mov edx, dword [esp + 0x28]
mov ax, word [esp + 0xbe]
mov word [edx + 0x10], ax
cmp dword [esp + 0xb8], 0
je case.0x5e8207.89
jmp 0x5e8637
cmp dword [esp + 0x10], 0
je 0x5e8637
jmp case.0x5e8207.89
test byte [ebx + 2], 1
jne 0x5e9b6e
xor edx, edx
mov dword [esp + 0xe0], edx
jmp 0x5e9b7b
mov ecx, dword [ebx - 0x18]
add ecx, 4
mov dword [esp + 0xe0], ecx
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0xc4], ecx
mov eax, dword [ebx + 0x10]
mov dword [esp + 0xd0], eax
mov edx, dword [ebx + 4]
mov dword [esp + 0xc8], edx
mov ecx, dword [ebx + 8]
mov dword [esp + 0xcc], ecx
xor ebp, ebp
cmp ebp, dword [esp + 0xc4]
jge case.0x5e8207.89
cmp dword [esp + 0xe0], 0
je 0x5e9bc8
mov eax, dword [esp + 0xe0]
mov edx, dword [eax + ebp*4]
jmp 0x5e9bca
mov edx, ebp
mov dword [esp + 0xd4], edx
xor edx, edx
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + ebp*4 + 0x14]
mov dword [esp + 0xd8], ecx
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + 0x10]
mov dl, byte [eax + ebp]
and edx, 1
mov dword [esp + 0xdc], edx
mov ecx, dword [esp + 0xcc]
mov eax, dword [esp + 0xc8]
add ecx, dword [esp + 0xd4]
add eax, dword [esp + 0xd4]
mov edx, ecx
mov ecx, dword [esp + 0xd8]
shl edx, 3
shl eax, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.00634e08
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
je 0x5e9ca8
mov edx, dword [esp + 0xd0]
mov ecx, dword [edx + 0x10]
test byte [ecx + ebp], 2
je 0x5e9c91
mov eax, dword [esp + 0xc8]
add eax, dword [esp + 0xd4]
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x24]
test byte [eax + edx*8 + 0x10], 1
jne 0x5e9c8d
mov edx, dword [esp + 0xcc]
add edx, dword [esp + 0xd4]
lea ecx, [edx + edx*4]
mov eax, dword [esp + 0x24]
test byte [eax + ecx*8 + 0x10], 1
je 0x5e9c91
neg dword [esp + 0x10]
cmp dword [esp + 0xdc], 0
je case.0x5e8207.89
neg dword [esp + 0x10]
jmp case.0x5e8207.89
inc ebp
cmp ebp, dword [esp + 0xc4]
jl 0x5e9bb2
jmp case.0x5e8207.89
cmp dword [esp + 0x10], 0
jge 0x5e9cd9
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 4]
add edx, 0xffffffd8
mov ebx, edx
jmp case.0x5e8207.89
cmp dword [esp + 0x10], 0
jne 0x5e9cf7
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 4]
add ecx, 0xffffffd8
mov ebx, ecx
jmp case.0x5e8207.89
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 4]
add eax, 0xffffffd8
mov ebx, eax
jmp case.0x5e8207.89
mov eax, dword [ebx + 4]
mov edx, 2
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.006477dc
mov dword [esp + 0xe4], eax
mov edx, 2
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.006477dc
mov dword [esp + 0xe8], eax
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0x2c
jne 0x5e9d78
mov ecx, dword [esp + 0xe4]
lea ecx, [ecx + ecx*2]
lea eax, [ecx + 0x67a034]
mov edx, dword [esp + 0xe8]
xor ecx, ecx
mov cl, byte [eax + edx]
mov dword [esp + 0xe4], ecx
jmp 0x5e9d9a
mov eax, dword [esp + 0xe4]
lea eax, [eax + eax*2]
lea edx, [eax + 0x67a03d]
mov eax, dword [esp + 0xe8]
movzx edx, byte [edx + eax]
mov dword [esp + 0xe4], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0xe4], 2
jne 0x5e9dd2
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov ax, word [ecx + 0x10]
and ax, 0xf240
or ax, 1
mov word [edx + 0x10], ax
jmp case.0x5e8207.89
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x2c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x2c]
mov ax, word [ecx + 0x10]
and ax, 0xf240
or ax, 4
mov word [edx + 0x10], ax
jmp case.0x5e8207.89
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.006477dc
xor eax, dword [ebx + 0x10]
cdq
push edx
push eax
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x2c]
call fcn.00647ba4
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x10], 1
jne 0x5e9e81
xor edx, edx
mov eax, dword [esp + 0x28]
call fcn.006477dc
cmp eax, 1
sbb eax, eax
neg eax
cdq
push edx
push eax
mov eax, dword [esp + 0x34]
call fcn.00647ba4
jmp case.0x5e8207.89
mov eax, dword [esp + 0x2c]
call fcn.00647b38
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x2c]
call fcn.00647b38
mov edx, dword [esp + 0x28]
test byte [edx + 0x10], 1
jne case.0x5e8207.89
mov ecx, dword [esp + 0x2c]
mov word [ecx + 0x10], 4
mov eax, dword [esp + 0x28]
call fcn.0064772c
not eax
mov ecx, dword [esp + 0x2c]
not edx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5e8207.89
mov edx, dword [esp]
cmp dword [edx + 0xd8], 0
je 0x5e9f6d
mov ecx, dword [esp]
mov eax, ebx
sub eax, dword [ecx + 0x68]
mov ecx, 0x28
cdq
idiv ecx
mov dword [esp + 0xec], eax
mov eax, 1
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xec]
and ecx, 7
shl eax, cl
mov ecx, dword [esp]
shr edx, 3
mov ecx, dword [ecx + 0xd8]
mov ecx, dword [ecx + 0x14]
movzx edx, byte [ecx + edx]
and eax, edx
je 0x5e9f44
jmp 0x5e8637
mov ecx, dword [esp + 0xec]
mov al, 1
and ecx, 7
mov edx, dword [esp + 0xec]
shl al, cl
mov ecx, dword [esp]
shr edx, 3
mov ecx, dword [ecx + 0xd8]
mov ecx, dword [ecx + 0x14]
or byte [ecx + edx], al
jmp 0x5e9f80
mov eax, dword [esp]
mov edx, dword [eax + 0x68]
mov ecx, dword [edx + 4]
cmp ecx, dword [ebx + 4]
jne 0x5e9f80
jmp 0x5e8637
mov eax, dword [esp]
mov edx, dword [eax + 0x68]
mov ecx, dword [edx + 4]
mov dword [ebx + 4], ecx
jmp case.0x5e8207.89
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.006477dc
mov dword [esp + 0xf0], eax
cmp dword [esp + 0xf0], 0
jne 0x5e8637
jmp case.0x5e8207.89
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
cmp edx, 1
sbb edx, edx
shl eax, 3
neg edx
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.006477dc
cmp eax, 1
sbb ecx, ecx
neg ecx
mov dword [esp + 0xf4], ecx
cmp dword [esp + 0xf4], 0
jne 0x5e8637
jmp case.0x5e8207.89
mov ecx, dword [ebx + 4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x28]
test byte [eax + 0x10], 1
je case.0x5e8207.89
jmp 0x5e8637
cmp dword [ebx + 4], 0
jl 0x5ea0c1
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0xf8], edx
mov ecx, dword [esp + 0xf8]
movzx eax, word [ecx + 0x36]
cmp eax, dword [ebx + 0xc]
jle 0x5ea0ac
mov edx, dword [esp + 0xf8]
mov eax, dword [ebx + 0xc]
mov edx, dword [edx + eax*4 + 0x54]
mov dword [esp + 0x100], edx
cmp dword [esp + 0x100], 0xc
jb 0x5ea094
test byte [esp + 0x100], 1
je 0x5ea088
mov word [esp + 0xfc], 4
jmp 0x5ea0e5
mov word [esp + 0xfc], 8
jmp 0x5ea0e5
mov ecx, dword [esp + 0x100]
movzx ecx, byte [ecx + 0x67a046]
mov word [esp + 0xfc], cx
jmp 0x5ea0e5
mov ax, 1
mov ecx, dword [ebx + 0x10]
dec ecx
shl ax, cl
mov word [esp + 0xfc], ax
jmp 0x5ea0e5
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.005e5c8c
mov dx, 1
mov ecx, eax
dec ecx
shl dx, cl
mov word [esp + 0xfc], dx
mov cx, word [esp + 0xfc]
and cx, word [ebx + 2]
je case.0x5e8207.89
jmp 0x5e8637
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
test byte [edx + eax*8 + 0x10], 1
jne 0x5ea123
mov ecx, dword [ebx + 0xc]
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x24]
test byte [eax + ecx*8 + 0x10], 1
je 0x5ea13a
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.00647b38
jmp case.0x5e8207.89
push 0
push 0
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x2c]
call fcn.00647ba4
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x10], 1
jne case.0x5e8207.89
jmp 0x5e8637
mov ecx, dword [esp]
mov eax, dword [ecx + 0x60]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x104], ecx
cmp dword [esp + 0x104], 0
je case.0x5e8207.89
mov eax, dword [esp + 0x104]
cmp byte [eax + 2], 0
je case.0x5e8207.89
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.00647b38
jmp 0x5e8637
mov edx, dword [esp]
mov eax, dword [ebx + 4]
mov ecx, dword [edx + 0x60]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x108], edx
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp]
shl eax, 3
mov ecx, dword [ecx + 0x58]
lea eax, [eax + eax*4]
add ecx, eax
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x108], 0
je 0x5ea20a
mov edx, dword [esp + 0x108]
cmp byte [edx], 0
je 0x5ea218
mov eax, dword [esp + 0x2c]
call fcn.00647b38
jmp case.0x5e8207.89
mov edx, dword [esp + 0x108]
cmp byte [edx + 3], 0
je 0x5ea23b
mov eax, dword [esp + 0x108]
call fcn.0063462c
mov esi, eax
test esi, esi
jne 0x5f0895
mov eax, dword [esp + 0x108]
mov eax, dword [eax + 0x24]
call fcn.0062bda4
test eax, eax
je 0x5ea25c
mov eax, dword [esp + 0x2c]
call fcn.00647b38
jmp case.0x5e8207.89
mov edx, dword [esp + 0x108]
mov eax, dword [edx + 0x24]
call fcn.0062adac
push edx
push eax
mov eax, dword [esp + 0x34]
call fcn.00647ba4
jmp case.0x5e8207.89
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov ebp, dword [ecx + eax*4]
mov eax, dword [ebx + 8]
mov dword [esp + 0x10c], eax
mov edx, dword [ebp + 0x40]
mov dword [esp + 0x114], edx
mov ecx, dword [ebp + 0x18]
mov eax, dword [esp]
cmp ecx, dword [eax + 0x1c]
je 0x5ea456
cmp byte [ebp + 2], 0
je 0x5ea320
xor edx, edx
mov dl, byte [ebp]
cmp edx, 3
jne 0x5ea2f6
cmp dword [ebp + 0x1c], 0
jle 0x5ea2f6
mov ecx, dword [ebp + 0x1c]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x13c], ecx
mov ecx, dword [esp + 0x13c]
mov eax, dword [ecx + 0xc]
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x48], eax
mov edx, dword [esp + 0x13c]
mov ecx, dword [edx + 8]
mov dword [ebp + 0x44], ecx
jmp 0x5ea3c0
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x120], ecx
mov eax, dword [esp + 0x120]
call fcn.00647b38
jmp case.0x5e8207.89
mov edx, dword [ebp + 0x24]
mov dword [esp + 0x110], edx
cmp byte [ebp + 3], 0
je 0x5ea379
cmp dword [ebp + 8], 0
je 0x5ea366
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x10c]
mov edx, dword [ecx + eax*4 + 4]
mov dword [esp + 0x140], edx
test edx, edx
jbe 0x5ea366
mov ebp, dword [ebp + 0x20]
mov eax, dword [esp + 0x140]
dec eax
mov dword [esp + 0x10c], eax
jmp 0x5ea291
mov eax, ebp
call fcn.0063462c
mov esi, eax
test esi, esi
jne 0x5f0895
jmp 0x5ea39f
mov eax, dword [esp + 0x110]
call fcn.006276dc
test eax, eax
je 0x5ea39f
mov eax, ebp
call fcn.0063466c
mov esi, eax
test esi, esi
jne 0x5f0895
jmp 0x5ea291
mov eax, dword [esp + 0x110]
call fcn.0062adec
mov dword [ebp + 0x48], eax
lea edx, [ebp + 0x4c]
mov eax, dword [esp + 0x110]
call fcn.0062b350
mov dword [ebp + 0x44], eax
mov edx, dword [esp]
xor eax, eax
mov ecx, dword [edx + 0x1c]
mov dword [ebp + 0x18], ecx
mov ecx, dword [ebp + 0x44]
mov edx, dword [esp + 0x114]
mov al, byte [ecx]
mov dword [edx], eax
cmp eax, 0x80
jae 0x5ea3e9
mov dword [ebp + 0x2c], 1
jmp 0x5ea3ff
mov eax, dword [ebp + 0x44]
mov edx, dword [esp + 0x114]
call fcn.006469e8
xor ecx, ecx
mov cl, al
mov dword [ebp + 0x2c], ecx
mov word [ebp + 0x36], 0
mov ecx, dword [ebp + 0x4c]
mov eax, dword [esp + 0x114]
cmp ecx, dword [eax]
jae 0x5ea445
xor edx, edx
xor ecx, ecx
mov dword [ebp + 0x44], edx
mov dword [ebp + 0x4c], ecx
mov eax, dword [esp + 0x114]
cmp dword [eax], 0x18003
ja 0x5ea9c5
mov edx, dword [esp + 0x114]
mov ecx, dword [edx]
cmp ecx, dword [ebp + 0x48]
jbe 0x5ea478
jmp 0x5ea9c5
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x124], eax
jmp 0x5ea4f0
mov eax, dword [ebp + 0x24]
call fcn.006276dc
test eax, eax
je 0x5ea478
mov eax, ebp
call fcn.0063466c
mov esi, eax
test esi, esi
jne 0x5f0895
jmp 0x5ea291
movzx eax, word [ebp + 0x36]
cmp eax, dword [esp + 0x10c]
ja 0x5ea73f
mov edx, dword [ebp + 0x2c]
mov ecx, dword [esp + 0x114]
cmp edx, dword [ecx]
jae 0x5ea6e3
cmp dword [ebp + 0x44], 0
jne 0x5ea4e6
lea eax, [esp + 0x538]
mov ecx, 0x28
xor edx, edx
call fcn.005c83cc
lea ecx, [esp + 0x538]
mov eax, dword [esp + 0x114]
mov edx, dword [eax]
mov eax, dword [ebp + 0x24]
call fcn.00648040
mov esi, eax
test esi, esi
jne 0x5f0895
mov eax, dword [esp + 0x540]
mov dword [esp + 0x124], eax
jmp 0x5ea4f0
mov edx, dword [ebp + 0x44]
mov dword [esp + 0x124], edx
movzx ecx, word [ebp + 0x36]
mov dword [esp + 0x11c], ecx
mov ecx, dword [esp + 0x114]
mov eax, dword [esp + 0x11c]
mov eax, dword [ecx + eax*4]
xor edx, edx
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], edx
mov ecx, dword [ebp + 0x2c]
add ecx, dword [esp + 0x124]
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x114]
mov eax, dword [ecx]
add eax, dword [esp + 0x124]
mov dword [esp + 0x12c], eax
mov edx, dword [esp + 0x11c]
mov eax, dword [esp + 0x128]
xor ecx, ecx
mov cl, byte [eax]
mov dword [esp + 0x138], ecx
mov dword [ebp + edx*4 + 0x54], ecx
cmp ecx, 0x80
jae 0x5ea592
inc dword [esp + 0x128]
mov al, byte [esp + 0x138]
call fcn.006346c0
and eax, 0xff
cdq
add dword [esp + 0x130], eax
adc dword [esp + 0x134], edx
jmp 0x5ea5de
lea edx, [esp + 0x138]
mov eax, dword [esp + 0x128]
call fcn.006469e8
xor ecx, ecx
mov cl, al
add dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x11c]
mov eax, dword [esp + 0x138]
mov dword [ebp + ecx*4 + 0x54], eax
mov eax, dword [esp + 0x138]
call fcn.006346a8
xor edx, edx
add dword [esp + 0x130], eax
adc dword [esp + 0x134], edx
inc dword [esp + 0x11c]
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x11c]
mov eax, dword [esp + 0x130]
and eax, 0xffffffff
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x11c]
cmp ecx, dword [esp + 0x10c]
ja 0x5ea624
mov eax, dword [esp + 0x128]
cmp eax, dword [esp + 0x12c]
jb 0x5ea544
mov edx, dword [esp + 0x128]
cmp edx, dword [esp + 0x12c]
jb 0x5ea65b
mov ecx, dword [esp + 0x128]
cmp ecx, dword [esp + 0x12c]
ja 0x5ea672
mov eax, dword [ebp + 0x48]
xor edx, edx
cmp edx, dword [esp + 0x134]
jne 0x5ea672
cmp eax, dword [esp + 0x130]
jne 0x5ea672
mov eax, dword [ebp + 0x48]
xor edx, edx
cmp edx, dword [esp + 0x134]
jne 0x5ea670
cmp eax, dword [esp + 0x130]
jae 0x5ea6b2
mov ecx, dword [esp + 0x114]
cmp dword [ecx], 0
jne 0x5ea697
xor ecx, ecx
mov dword [esp + 0x11c], ecx
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x128], eax
jmp 0x5ea6b2
cmp dword [ebp + 0x44], 0
jne 0x5ea9c5
lea eax, [esp + 0x538]
call fcn.006476d8
jmp 0x5ea9c5
mov dx, word [esp + 0x11c]
mov word [ebp + 0x36], dx
mov ecx, dword [esp + 0x128]
sub ecx, dword [esp + 0x124]
mov dword [ebp + 0x2c], ecx
cmp dword [ebp + 0x44], 0
jne 0x5ea6ec
lea eax, [esp + 0x538]
call fcn.006476d8
jmp 0x5ea6ec
xor edx, edx
mov dword [esp + 0x138], edx
movzx ecx, word [ebp + 0x36]
cmp ecx, dword [esp + 0x10c]
ja 0x5ea751
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x120], ecx
cmp byte [ebx + 1], 0xf6
jne 0x5ea72c
mov ecx, 0x2000
mov edx, dword [ebx + 0x10]
mov eax, dword [esp + 0x120]
call fcn.00647cec
jmp case.0x5e8207.89
mov eax, dword [esp + 0x120]
call fcn.00647b38
jmp case.0x5e8207.89
mov edx, dword [esp + 0x10c]
mov ecx, dword [ebp + edx*4 + 0x54]
mov dword [esp + 0x138], ecx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x120], ecx
mov eax, dword [esp + 0x120]
test byte [eax + 0x11], 0x90
je 0x5ea77e
mov eax, dword [esp + 0x120]
call fcn.00647b38
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x10c]
mov ecx, dword [edx + ecx*4 + 4]
cmp ecx, dword [ebp + 0x4c]
ja 0x5ea8df
mov eax, dword [esp + 0x114]
mov edx, dword [esp + 0x10c]
mov ecx, dword [eax + edx*4]
add ecx, dword [ebp + 0x44]
mov dword [esp + 0x124], ecx
cmp dword [esp + 0x138], 0xc
jae 0x5ea7dd
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x138]
mov eax, dword [esp + 0x124]
call fcn.00634884
jmp case.0x5e8207.89
mov ecx, dword [esp + 0x138]
sub ecx, 0xc
shr ecx, 1
mov dword [esp + 0x118], ecx
mov eax, dword [esp + 0x120]
mov dword [eax + 0xc], ecx
mov edx, dword [esp + 0x120]
mov al, byte [esp + 0xd]
mov byte [edx + 0x12], al
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x118]
add edx, 2
cmp edx, dword [ecx + 0x18]
jle 0x5ea861
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x78]
cmp eax, dword [esp + 0x118]
jl 0x5f0a22
mov edx, dword [esp + 0x120]
mov word [edx + 0x10], 1
mov edx, dword [esp + 0x118]
add edx, 2
xor ecx, ecx
mov eax, dword [esp + 0x120]
call fcn.006472bc
test eax, eax
jne 0x5f0a3e
jmp 0x5ea875
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x120]
mov eax, dword [ecx + 0x20]
mov dword [edx + 8], eax
mov ecx, dword [esp + 0x120]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x124]
call fcn.005c83bc
mov eax, dword [esp + 0x120]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x118]
mov byte [ecx + eax], 0
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x118]
mov ecx, dword [edx + 8]
mov byte [ecx + eax + 1], 0
mov edx, dword [esp + 0x138]
mov eax, dword [esp + 0x120]
and edx, 1
mov cx, word [edx*2 + 0x67a052]
mov word [eax + 0x10], cx
jmp case.0x5e8207.89
mov edx, dword [esp + 0x120]
mov al, byte [esp + 0xd]
mov byte [edx + 0x12], al
mov dl, byte [ebx + 2]
and dl, 0xc0
mov byte [esp + 0x144], dl
test dl, dl
je 0x5ea933
xor eax, eax
mov al, byte [esp + 0x144]
cmp eax, 0x80
je 0x5ea943
cmp dword [esp + 0x138], 0xc
jb 0x5ea933
test byte [esp + 0x138], 1
je 0x5ea943
xor ecx, ecx
mov cl, byte [esp + 0x144]
cmp ecx, 0xc0
je 0x5ea943
mov eax, dword [esp + 0x138]
call fcn.006346a8
test eax, eax
jne 0x5ea960
mov eax, 0x67fab6
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x138]
call fcn.00634884
jmp case.0x5e8207.89
mov ecx, dword [esp + 0x114]
mov eax, dword [esp + 0x10c]
mov eax, dword [ecx + eax*4]
xor edx, edx
push edx
push eax
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x1c]
push ecx
mov eax, dword [esp + 0x3c]
push eax
mov edx, dword [esp + 0x130]
push edx
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x120]
mov eax, ebp
call fcn.005e7e84
mov esi, eax
test esi, esi
je case.0x5e8207.89
cmp esi, 7
je 0x5f0a3e
cmp esi, 0x12
je 0x5f0a22
jmp 0x5f0895
mov eax, dword [esp + 4]
cmp dword [eax + 0xc], 0
jle 0x5ea9ea
mov edx, dword [esp + 4]
mov ebx, dword [edx + 0xc]
shl ebx, 3
lea ebx, [ebx + ebx*4]
add ebx, dword [esp + 4]
add ebx, 0xffffffd8
jmp case.0x5e8207.89
mov eax, 0xc7f
call fcn.006006d0
mov esi, eax
jmp 0x5f0895
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x148], eax
mov edx, dword [esp + 0x148]
mov ecx, dword [edx + 4]
mov dword [esp + 0x14c], ecx
mov ecx, dword [ebx + 4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
xor ebp, ebp
mov dword [esp + 0x28], ecx
jmp 0x5eab8c
lea eax, [ebp + ebp*2]
mov edx, dword [esp + 0x14c]
test byte [edx + eax*4 + 0xa], 0x60
je 0x5eaa66
lea ecx, [ebp + ebp*2]
mov eax, dword [esp + 0x14c]
test byte [eax + ecx*4 + 0xa], 0x20
jne 0x5eab8b
cmp dword [ebx + 0xc], 0
je 0x5eaa66
add dword [esp + 0x28], 0x28
jmp 0x5eab8b
lea edx, [ebp + ebp*2]
mov ecx, dword [esp + 0x14c]
mov dl, byte [ecx + edx*4 + 5]
mov cl, byte [esp + 0xd]
mov eax, dword [esp + 0x28]
call fcn.005e7c70
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x10], 1
jne 0x5eab86
lea eax, [ebp + ebp*2]
mov edx, dword [esp + 0x14c]
mov cl, byte [edx + eax*4 + 4]
shr ecx, 4
and ecx, 0xf
sub ecx, 2
je 0x5eaaba
dec ecx
sub ecx, 2
jb 0x5eaacd
je 0x5eaaf3
dec ecx
je 0x5eaae0
jmp 0x5eab86
mov eax, dword [esp + 0x28]
test byte [eax + 0x10], 0x10
je 0x5eaba4
jmp 0x5eab86
mov edx, dword [esp + 0x28]
test byte [edx + 0x10], 4
je 0x5eaba4
jmp 0x5eab86
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x10], 2
je 0x5eaba4
jmp 0x5eab86
mov eax, dword [esp + 0x28]
test byte [eax + 0x10], 4
je 0x5eab78
mov edx, dword [esp + 0x28]
cmp dword [edx + 4], 0x7fff
jne 0x5eab11
cmp dword [edx], 0xffffffff
ja 0x5eab3e
jmp 0x5eab13
jg 0x5eab3e
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 4], 0xffff8000
jne 0x5eab27
cmp dword [ecx], 0
jb 0x5eab3e
jmp 0x5eab29
jl 0x5eab3e
mov eax, dword [esp + 0x28]
or word [eax + 0x10], 0x20
mov edx, dword [esp + 0x28]
and word [edx + 0x10], 0xfffb
jmp 0x5eab86
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x740], eax
mov dword [esp + 0x744], edx
fild qword [esp + 0x740]
mov ecx, dword [esp + 0x28]
fstp qword [ecx]
wait
mov eax, dword [esp + 0x28]
or word [eax + 0x10], 8
mov edx, dword [esp + 0x28]
and word [edx + 0x10], 0xfffb
jmp 0x5eab86
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x10], 0x28
jne 0x5eab86
jmp 0x5eaba4
add dword [esp + 0x28], 0x28
inc ebp
mov eax, dword [esp + 0x148]
movsx edx, word [eax + 0x22]
cmp ebp, edx
jl 0x5eaa2e
jmp case.0x5e8207.89
lea ecx, [ebp + ebp*2]
mov eax, dword [esp + 0x14c]
mov edx, dword [eax + ecx*4]
push edx
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx]
push eax
lea edx, [ebp + ebp*2]
mov eax, dword [esp + 0x154]
mov dl, byte [eax + edx*4 + 4]
shr edx, 4
and edx, 0xf
mov ecx, dword [edx*4 + 0x67f988]
push ecx
mov eax, dword [esp + 0x34]
call fcn.005e8080
push eax
push str.cannot_store__s_value_in__s_column__s._s
mov edx, dword [esp + 0x14]
push edx
call fcn.00631c34
add esp, 0x18
mov esi, 0xc13
jmp 0x5f0895
mov ebp, dword [ebx + 0x10]
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov dl, byte [ebp]
mov cl, byte [esp + 0xd]
mov eax, dword [esp + 0x28]
call fcn.005e7c70
cmp byte [ebp], 0x45
jne 0x5eacb1
mov edx, dword [esp + 0x28]
test byte [edx + 0x10], 4
je 0x5eacb1
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 4], 0x7fff
jne 0x5eac4c
cmp dword [ecx], 0xffffffff
ja 0x5eac79
jmp 0x5eac4e
jg 0x5eac79
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 4], 0xffff8000
jne 0x5eac62
cmp dword [ecx], 0
jb 0x5eac79
jmp 0x5eac64
jl 0x5eac79
mov eax, dword [esp + 0x28]
or word [eax + 0x10], 0x20
mov edx, dword [esp + 0x28]
and word [edx + 0x10], 0xfffb
jmp 0x5eacb1
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x748], eax
mov dword [esp + 0x74c], edx
fild qword [esp + 0x748]
mov ecx, dword [esp + 0x28]
fstp qword [ecx]
wait
mov eax, dword [esp + 0x28]
or word [eax + 0x10], 8
mov edx, dword [esp + 0x28]
and word [edx + 0x10], 0xfff9
inc ebp
cmp byte [ebp], 0
je case.0x5e8207.89
add dword [esp + 0x28], 0x28
jmp 0x5eac14
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
xor ecx, ecx
mov dword [esp + 0x158], ecx
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
mov eax, dword [ebx + 4]
mov dword [esp + 0x17c], eax
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x180], edx
mov ecx, dword [esp + 0x17c]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x174], ecx
mov eax, dword [ebx + 8]
mov dword [esp + 0x17c], eax
mov edx, dword [esp + 0x17c]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x174]
add edx, 0xffffffd8
mov dword [esp + 0x178], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
cmp dword [esp + 0x180], 0
je 0x5eadb8
mov ebp, dword [esp + 0x174]
mov eax, dword [esp + 0x180]
mov dl, byte [eax]
mov cl, byte [esp + 0xd]
mov eax, ebp
call fcn.005e7c70
mov edx, dword [esp + 0x180]
cmp byte [edx], 0x45
jne 0x5eada2
test byte [ebp + 0x10], 4
je 0x5eada2
or word [ebp + 0x10], 0x20
and word [ebp + 0x10], 0xfffb
inc dword [esp + 0x180]
add ebp, 0x28
mov ecx, dword [esp + 0x180]
cmp byte [ecx], 0
jne 0x5ead71
mov ebp, dword [esp + 0x178]
test byte [ebp + 0x10], 1
je 0x5eade5
test byte [ebp + 0x11], 4
je 0x5eadd4
mov dword [ebp + 0x1c], 0xa
jmp 0x5eadd9
xor eax, eax
mov dword [ebp + 0x1c], eax
inc dword [esp + 0x158]
jmp 0x5eb0db
test byte [ebp + 0x10], 0x24
je 0x5eaffe
mov edx, dword [ebp]
mov dword [esp + 0x190], edx
mov edx, dword [ebp + 4]
mov dword [esp + 0x194], edx
cmp dword [esp + 0x194], 0
jne 0x5eae19
cmp dword [esp + 0x190], 0
jae 0x5eae3d
jmp 0x5eae1b
jge 0x5eae3d
mov eax, dword [esp + 0x190]
mov edx, dword [esp + 0x194]
not eax
not edx
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], edx
jmp 0x5eae59
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x19c], ecx
inc dword [esp + 0x158]
cmp dword [esp + 0x19c], 0
jne 0x5eae72
cmp dword [esp + 0x198], 0x7f
ja 0x5eaeda
mov eax, dword [esp + 0x190]
mov edx, dword [esp + 0x194]
and eax, 1
xor edx, edx
cmp edx, dword [esp + 0x194]
jne 0x5eaebe
cmp eax, dword [esp + 0x190]
jne 0x5eaebe
mov ecx, dword [esp]
xor eax, eax
mov al, byte [ecx + 0x95]
cmp eax, 4
jl 0x5eaebe
mov eax, dword [esp + 0x198]
add eax, 8
mov dword [ebp + 0x1c], eax
jmp 0x5eb0db
add dword [esp + 0x150], 1
adc dword [esp + 0x154], 0
mov dword [ebp + 0x1c], 1
jmp 0x5eb0db
cmp dword [esp + 0x19c], 0
jne 0x5eaeef
cmp dword [esp + 0x198], 0x7fff
ja 0x5eaf0d
add dword [esp + 0x150], 2
adc dword [esp + 0x154], 0
mov dword [ebp + 0x1c], 2
jmp 0x5eb0db
cmp dword [esp + 0x19c], 0
jne 0x5eaf22
cmp dword [esp + 0x198], 0x7fffff
ja 0x5eaf40
add dword [esp + 0x150], 3
adc dword [esp + 0x154], 0
mov dword [ebp + 0x1c], 3
jmp 0x5eb0db
cmp dword [esp + 0x19c], 0
jne 0x5eaf55
cmp dword [esp + 0x198], 0x7fffffff
ja 0x5eaf73
add dword [esp + 0x150], 4
adc dword [esp + 0x154], 0
mov dword [ebp + 0x1c], 4
jmp 0x5eb0db
cmp dword [esp + 0x19c], 0x7fff
jne 0x5eaf88
cmp dword [esp + 0x198], 0xffffffff
ja 0x5eafa6
add dword [esp + 0x150], 6
adc dword [esp + 0x154], 0
mov dword [ebp + 0x1c], 5
jmp 0x5eb0db
add dword [esp + 0x150], 8
adc dword [esp + 0x154], 0
test byte [ebp + 0x10], 0x20
je 0x5eaff2
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov dword [esp + 0x750], eax
mov dword [esp + 0x754], edx
fild qword [esp + 0x750]
fstp qword [ebp]
wait
and word [ebp + 0x10], 0xffdf
or word [ebp + 0x10], 8
mov dword [ebp + 0x1c], 7
jmp 0x5eb0db
mov dword [ebp + 0x1c], 6
jmp 0x5eb0db
test byte [ebp + 0x10], 8
je 0x5eb027
inc dword [esp + 0x158]
add dword [esp + 0x150], 8
adc dword [esp + 0x154], 0
mov dword [ebp + 0x1c], 7
jmp 0x5eb0db
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0x184]
add ecx, ecx
test byte [ebp + 0x10], 2
setne al
and eax, 1
add ecx, eax
add ecx, 0xc
mov dword [esp + 0x170], ecx
test byte [ebp + 0x11], 4
je 0x5eb0a3
mov edx, dword [ebp]
add edx, edx
add dword [esp + 0x170], edx
cmp dword [esp + 0x154], 0
jne 0x5eb074
cmp dword [esp + 0x150], 0
je 0x5eb091
mov eax, ebp
call fcn.006474f0
test eax, eax
jne 0x5f0a3e
mov edx, dword [ebp]
add dword [esp + 0x184], edx
jmp 0x5eb0a3
mov eax, dword [ebp]
cdq
add dword [esp + 0x164], eax
adc dword [esp + 0x168], edx
xor edx, edx
mov eax, dword [esp + 0x184]
add dword [esp + 0x150], eax
adc dword [esp + 0x154], edx
xor edx, edx
mov eax, dword [esp + 0x170]
push edx
push eax
call fcn.00646a68
add dword [esp + 0x158], eax
mov ecx, dword [esp + 0x170]
mov dword [ebp + 0x1c], ecx
cmp ebp, dword [esp + 0x174]
je 0x5eb0ec
sub ebp, 0x28
jmp 0x5eadbf
cmp dword [esp + 0x158], 0x7e
jg 0x5eb0ff
inc dword [esp + 0x158]
jmp 0x5eb142
mov eax, dword [esp + 0x158]
cdq
push edx
push eax
call fcn.00646a68
mov dword [esp + 0x16c], eax
mov ecx, dword [esp + 0x16c]
add dword [esp + 0x158], ecx
mov eax, dword [esp + 0x158]
cdq
push edx
push eax
call fcn.00646a68
cmp eax, dword [esp + 0x16c]
jle 0x5eb142
inc dword [esp + 0x158]
mov eax, dword [esp + 0x158]
cdq
add eax, dword [esp + 0x150]
adc edx, dword [esp + 0x154]
mov dword [esp + 0x15c], eax
mov dword [esp + 0x160], edx
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
add eax, dword [esp + 0x164]
adc edx, dword [esp + 0x168]
push edx
push eax
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x18]
cdq
cmp edx, dword [esp + 4]
jne 0x5eb19b
cmp eax, dword [esp]
pop edx
pop eax
jb 0x5eb1af
jmp 0x5eb19f
pop edx
pop eax
jl 0x5eb1af
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x20]
mov dword [eax + 8], ecx
jmp 0x5eb20b
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x160]
add eax, dword [esp + 0x164]
adc edx, dword [esp + 0x168]
push edx
push eax
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x78]
cdq
cmp edx, dword [esp + 4]
jne 0x5eb1e7
cmp eax, dword [esp]
pop edx
pop eax
jae 0x5eb1f0
jmp 0x5f0a22
pop edx
pop eax
jge 0x5eb1f0
jmp 0x5f0a22
mov eax, dword [esp + 0x15c]
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.006473a4
test eax, eax
je 0x5eb20b
jmp 0x5f0a3e
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x2c]
mov dword [edx + 0xc], eax
mov ecx, dword [esp + 0x2c]
mov word [ecx + 0x10], 0x10
cmp dword [esp + 0x168], 0
jne 0x5eb235
cmp dword [esp + 0x164], 0
je 0x5eb24e
mov eax, dword [esp + 0x164]
mov edx, dword [esp + 0x2c]
mov dword [edx], eax
mov ecx, dword [esp + 0x2c]
or word [ecx + 0x10], 0x400
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 8]
mov dword [esp + 0x188], eax
mov edx, dword [esp + 0x188]
add edx, dword [esp + 0x158]
mov dword [esp + 0x18c], edx
cmp dword [esp + 0x158], 0x80
jge 0x5eb297
mov cl, byte [esp + 0x158]
mov eax, dword [esp + 0x188]
mov byte [eax], cl
inc dword [esp + 0x188]
jmp 0x5eb2b4
mov eax, dword [esp + 0x158]
cdq
push edx
push eax
mov eax, dword [esp + 0x190]
call fcn.00646768
add dword [esp + 0x188], eax
mov ebp, dword [esp + 0x174]
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x170], eax
cmp dword [esp + 0x170], 7
ja 0x5eb510
mov dl, byte [esp + 0x170]
mov ecx, dword [esp + 0x188]
mov byte [ecx], dl
inc dword [esp + 0x188]
cmp dword [esp + 0x170], 0
jne 0x5eb2f9
jmp 0x5eb5a2
cmp dword [esp + 0x170], 7
jne 0x5eb318
lea eax, [esp + 0x1a0]
mov ecx, 8
mov edx, ebp
call fcn.005c83bc
jmp 0x5eb32c
mov ecx, dword [ebp]
mov dword [esp + 0x1a0], ecx
mov ecx, dword [ebp + 4]
mov dword [esp + 0x1a4], ecx
mov eax, dword [esp + 0x170]
xor edx, edx
mov dl, byte [eax + 0x67ddf5]
mov dword [esp + 0x184], edx
mov ecx, dword [esp + 0x184]
cmp ecx, 6
ja case.0x5eb34e.0
jmp dword [ecx*4 + 0x5eb355]
mov edx, dword [esp + 0x18c]
mov eax, dword [esp + 0x1a0]
and al, 0xff
mov byte [edx + 7], al
mov edx, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a0]
shrd eax, edx, 8
shr edx, 8
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x1a0], eax
mov edx, dword [esp + 0x18c]
mov eax, dword [esp + 0x1a0]
and al, 0xff
mov byte [edx + 6], al
mov edx, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a0]
shrd eax, edx, 8
shr edx, 8
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x1a0], eax
mov edx, dword [esp + 0x18c]
mov eax, dword [esp + 0x1a0]
and al, 0xff
mov byte [edx + 5], al
mov edx, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a0]
shrd eax, edx, 8
shr edx, 8
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x1a0], eax
mov edx, dword [esp + 0x18c]
mov eax, dword [esp + 0x1a0]
and al, 0xff
mov byte [edx + 4], al
mov edx, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a0]
shrd eax, edx, 8
shr edx, 8
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x1a0], eax
mov edx, dword [esp + 0x18c]
mov eax, dword [esp + 0x1a0]
and al, 0xff
mov byte [edx + 3], al
mov edx, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a0]
shrd eax, edx, 8
shr edx, 8
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x1a0], eax
mov edx, dword [esp + 0x18c]
mov eax, dword [esp + 0x1a0]
and al, 0xff
mov byte [edx + 2], al
mov edx, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a0]
shrd eax, edx, 8
shr edx, 8
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x1a0], eax
mov edx, dword [esp + 0x18c]
mov eax, dword [esp + 0x1a0]
and al, 0xff
mov byte [edx + 1], al
mov edx, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a0]
shrd eax, edx, 8
shr edx, 8
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x1a0], eax
mov edx, dword [esp + 0x18c]
mov eax, dword [esp + 0x1a0]
and al, 0xff
mov byte [edx], al
mov ecx, dword [esp + 0x184]
add dword [esp + 0x18c], ecx
jmp 0x5eb5a2
cmp dword [esp + 0x170], 0x80
jae 0x5eb562
mov cl, byte [esp + 0x170]
mov eax, dword [esp + 0x188]
mov byte [eax], cl
inc dword [esp + 0x188]
cmp dword [esp + 0x170], 0xe
jb 0x5eb5a2
cmp dword [ebp + 0xc], 0
jle 0x5eb5a2
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x18c]
call fcn.005c83bc
mov ecx, dword [ebp + 0xc]
add dword [esp + 0x18c], ecx
jmp 0x5eb5a2
mov eax, dword [esp + 0x170]
xor edx, edx
push edx
push eax
mov eax, dword [esp + 0x190]
call fcn.00646768
add dword [esp + 0x188], eax
cmp dword [ebp + 0xc], 0
je 0x5eb5a2
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x18c]
call fcn.005c83bc
mov edx, dword [ebp + 0xc]
add dword [esp + 0x18c], edx
cmp ebp, dword [esp + 0x178]
je case.0x5e8207.89
add ebp, 0x28
jmp 0x5eb2bb
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov ecx, dword [edx + 0x24]
mov dword [esp + 0x1b0], ecx
cmp dword [ebx + 0xc], 0
je 0x5eb5ef
mov eax, dword [esp + 0x1b0]
call fcn.0062bdb0
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], edx
jmp 0x5eb626
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
lea ecx, [esp + 0x1a8]
mov edx, dword [esp + 0x1b0]
mov eax, dword [esp + 8]
call fcn.00630750
mov esi, eax
test esi, esi
jne 0x5f0895
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1a8]
mov dword [ecx], eax
mov eax, dword [esp + 0x1ac]
mov dword [ecx + 4], eax
jmp 0x5e8504
mov edx, dword [ebx + 4]
mov dword [esp + 0x1b4], edx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x1b8], ecx
cmp dword [esp + 0x1b4], 0
jne 0x5eb7bd
mov ecx, dword [esp + 8]
cmp dword [ecx + 0xc0], 0
jle 0x5eb69b
push str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [esp + 4]
push eax
call fcn.00631c34
add esp, 8
mov esi, 5
jmp 0x5ebb08
mov eax, dword [esp + 0x1b8]
call fcn.00644e74
mov dword [esp + 0x1bc], eax
mov edx, dword [esp + 8]
mov esi, dword [esp + 8]
mov eax, dword [esp + 8]
mov ecx, dword [edx + 0x204]
add ecx, dword [esi + 0x200]
xor edx, edx
call fcn.00608ca0
mov esi, eax
test esi, esi
jne 0x5f0895
mov eax, dword [esp + 0x1bc]
add eax, 0x21
xor edx, edx
push edx
push eax
mov eax, dword [esp + 0x10]
call fcn.0064ce10
mov dword [esp + 0x1c0], eax
cmp dword [esp + 0x1c0], 0
je 0x5ebb08
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1c0]
add edx, 0x20
mov dword [ecx], edx
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1bc]
inc ecx
mov edx, dword [esp + 0x1b8]
mov eax, dword [eax]
call fcn.005c83bc
mov ecx, dword [esp + 8]
cmp byte [ecx + 0x55], 0
je 0x5eb74f
mov ecx, dword [esp + 8]
mov byte [ecx + 0x55], 0
mov eax, dword [esp + 8]
mov byte [eax + 0x5d], 1
jmp 0x5eb759
mov edx, dword [esp + 8]
inc dword [edx + 0x200]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x1c0]
mov eax, dword [ecx + 0x1f4]
mov dword [edx + 0x18], eax
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x1c0]
mov dword [ecx + 0x1f4], eax
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x1c0]
mov ecx, dword [eax + 0x208]
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0x20c]
mov dword [edx + 0xc], ecx
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x1c0]
mov ecx, dword [eax + 0x210]
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x214]
mov dword [edx + 0x14], ecx
jmp 0x5ebb08
xor edx, edx
mov dword [esp + 0x1c8], edx
mov ecx, dword [esp + 8]
mov ebp, dword [ecx + 0x1f4]
jmp 0x5eb7dc
inc dword [esp + 0x1c8]
mov ebp, dword [ebp + 0x18]
test ebp, ebp
je 0x5eb7f3
mov eax, dword [ebp]
mov edx, dword [esp + 0x1b8]
call fcn.00645290
test eax, eax
jne 0x5eb7d2
test ebp, ebp
jne 0x5eb81b
mov ecx, dword [esp + 0x1b8]
push ecx
push str.no_such_savepoint:__s
mov ecx, dword [esp + 8]
push ecx
call fcn.00631c34
add esp, 0xc
mov esi, 1
jmp 0x5ebb08
mov eax, dword [esp + 8]
cmp dword [eax + 0xc0], 0
jle 0x5eb84e
cmp dword [esp + 0x1b4], 1
jne 0x5eb84e
push str.cannot_release_savepoint___SQL_statements_in_progress
mov edx, dword [esp + 4]
push edx
call fcn.00631c34
add esp, 8
mov esi, 5
jmp 0x5ebb08
cmp dword [ebp + 0x18], 0
jne 0x5eb85e
mov eax, dword [esp + 8]
cmp byte [eax + 0x5d], 0
jne 0x5eb862
xor edx, edx
jmp 0x5eb867
mov edx, 1
mov dword [esp + 0x1d0], edx
cmp dword [esp + 0x1d0], 0
je 0x5eb903
cmp dword [esp + 0x1b4], 1
jne 0x5eb903
mov edx, 1
mov eax, dword [esp]
call fcn.00633f6c
mov esi, eax
test eax, eax
je 0x5eb89e
jmp 0x5f0984
mov edx, dword [esp + 8]
mov byte [edx + 0x55], 1
mov eax, dword [esp]
call fcn.00633fec
cmp eax, 5
jne 0x5eb8df
mov eax, ebx
sub eax, dword [esp + 4]
mov ecx, 0x28
cdq
idiv ecx
mov edx, dword [esp]
mov dword [edx + 0x20], eax
mov eax, dword [esp + 8]
mov byte [eax + 0x55], 0
mov esi, 5
mov ecx, dword [esp]
mov dword [ecx + 0x24], esi
jmp 0x5f0984
mov ecx, dword [esp]
mov esi, dword [ecx + 0x24]
test esi, esi
je 0x5eb8f6
mov eax, dword [esp + 8]
mov byte [eax + 0x55], 0
jmp 0x5eba1a
mov edx, dword [esp + 8]
mov byte [edx + 0x5d], 0
jmp 0x5eba1a
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x200]
sub ecx, dword [esp + 0x1c8]
dec ecx
mov dword [esp + 0x1c8], ecx
cmp dword [esp + 0x1b4], 2
jne 0x5eb996
mov eax, dword [esp + 8]
test byte [eax + 0x18], 1
setne dl
and edx, 1
mov dword [esp + 0x1d4], edx
xor ecx, ecx
mov dword [esp + 0x1cc], ecx
jmp 0x5eb984
mov eax, dword [esp + 0x1cc]
mov edx, dword [esp + 8]
shl eax, 4
cmp dword [esp + 0x1d4], 0
mov edx, dword [edx + 0x10]
sete cl
mov eax, dword [edx + eax + 4]
mov edx, 0x204
and ecx, 1
call fcn.0062a99c
mov esi, eax
test esi, esi
jne 0x5f0895
inc dword [esp + 0x1cc]
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x14]
cmp edx, dword [esp + 0x1cc]
jg 0x5eb946
jmp 0x5eb99f
xor ecx, ecx
mov dword [esp + 0x1d4], ecx
xor ecx, ecx
mov dword [esp + 0x1cc], ecx
jmp 0x5eb9e4
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x1cc]
shl eax, 4
mov ecx, dword [esp + 0x1c8]
mov edx, dword [edx + 0x10]
mov eax, dword [edx + eax + 4]
mov edx, dword [esp + 0x1b4]
call fcn.0062ab30
mov esi, eax
test esi, esi
je 0x5eb9dd
jmp 0x5f0895
inc dword [esp + 0x1cc]
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x14]
cmp edx, dword [esp + 0x1cc]
jg 0x5eb9aa
cmp dword [esp + 0x1d4], 0
je 0x5eba1a
xor edx, edx
mov eax, dword [esp + 8]
call fcn.00635bc4
mov eax, dword [esp + 8]
call fcn.005cdfd0
mov edx, dword [esp + 8]
or dword [edx + 0x18], 1
test esi, esi
jne 0x5f0895
jmp 0x5eba63
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x1f4]
mov dword [esp + 0x1c4], ecx
mov eax, dword [esp + 0x1c4]
mov edx, dword [eax + 0x18]
mov eax, dword [esp + 8]
mov dword [eax + 0x1f4], edx
mov edx, dword [esp + 0x1c4]
mov eax, dword [esp + 8]
call fcn.0064cb60
mov edx, dword [esp + 8]
dec dword [edx + 0x200]
mov ecx, dword [esp + 8]
cmp ebp, dword [ecx + 0x1f4]
jne 0x5eba24
cmp dword [esp + 0x1b4], 1
jne 0x5ebaa7
mov ecx, dword [ebp + 0x18]
mov eax, dword [esp + 8]
mov dword [eax + 0x1f4], ecx
mov edx, ebp
mov eax, dword [esp + 8]
call fcn.0064cb60
cmp dword [esp + 0x1d0], 0
jne 0x5ebad3
mov edx, dword [esp + 8]
dec dword [edx + 0x200]
jmp 0x5ebad3
mov ecx, dword [esp + 8]
mov eax, dword [ebp + 8]
mov dword [ecx + 0x208], eax
mov eax, dword [ebp + 0xc]
mov dword [ecx + 0x20c], eax
mov edx, dword [esp + 8]
mov ecx, dword [ebp + 0x10]
mov dword [edx + 0x210], ecx
mov ecx, dword [ebp + 0x14]
mov dword [edx + 0x214], ecx
cmp dword [esp + 0x1d0], 0
je 0x5ebae7
cmp dword [esp + 0x1b4], 2
jne 0x5ebb08
mov ecx, dword [esp + 0x1c8]
mov edx, dword [esp + 0x1b4]
mov eax, dword [esp + 8]
call fcn.00608ca0
mov esi, eax
test esi, esi
jne 0x5f0895
test esi, esi
jne 0x5f0895
mov eax, dword [esp]
xor edx, edx
mov dl, byte [eax + 0x97]
cmp edx, 3
jne case.0x5e8207.89
mov esi, 0x65
jmp 0x5f0984
mov eax, dword [ebx + 4]
mov dword [esp + 0x1d8], eax
mov edx, dword [ebx + 8]
mov dword [esp + 0x1dc], edx
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + 0x55]
cmp ecx, dword [esp + 0x1d8]
je 0x5ebc44
cmp dword [esp + 0x1dc], 0
je 0x5ebb7e
mov edx, 0x204
mov eax, dword [esp + 8]
call fcn.005feaa8
mov ecx, dword [esp + 8]
mov byte [ecx + 0x55], 1
jmp 0x5ebbdb
cmp dword [esp + 0x1d8], 0
je 0x5ebbb3
mov eax, dword [esp + 8]
cmp dword [eax + 0xc0], 0
jle 0x5ebbb3
push str.cannot_commit_transaction___SQL_statements_in_progress
mov edx, dword [esp + 4]
push edx
call fcn.00631c34
add esp, 8
mov esi, 5
jmp 0x5f0895
mov edx, 1
mov eax, dword [esp]
call fcn.00633f6c
mov esi, eax
test eax, eax
je 0x5ebbcd
jmp 0x5f0984
mov dl, byte [esp + 0x1d8]
mov ecx, dword [esp + 8]
mov byte [ecx + 0x55], dl
mov eax, dword [esp]
call fcn.00633fec
cmp eax, 5
jne 0x5ebc1c
mov eax, ebx
sub eax, dword [esp + 4]
mov ecx, 0x28
cdq
idiv ecx
mov edx, dword [esp]
mov dword [edx + 0x20], eax
mov al, 1
sub al, byte [esp + 0x1d8]
mov ecx, dword [esp + 8]
mov byte [ecx + 0x55], al
mov esi, 5
mov ecx, dword [esp]
mov dword [ecx + 0x24], esi
jmp 0x5f0984
mov eax, dword [esp + 8]
call fcn.005fe690
mov edx, dword [esp]
cmp dword [edx + 0x24], 0
jne 0x5ebc38
mov esi, 0x65
jmp 0x5f0984
mov esi, 1
jmp 0x5f0984
cmp dword [esp + 0x1d8], 0
jne 0x5ebc55
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x5ebc6b
cmp dword [esp + 0x1dc], 0
je 0x5ebc66
mov eax, str.cannot_rollback___no_transaction_is_active
jmp 0x5ebc6b
mov eax, str.cannot_commit___no_transaction_is_active
push eax
mov edx, dword [esp + 4]
push edx
call fcn.00631c34
add esp, 8
mov esi, 1
jmp 0x5f0895
xor eax, eax
mov dword [esp + 0x1e8], eax
cmp dword [ebx + 8], 0
je 0x5ebce2
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
and eax, 0x100000
and edx, 2
cmp edx, 0
jne 0x5ebcb0
cmp eax, 0
je 0x5ebce2
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
and eax, 0x100000
xor edx, edx
cmp edx, 0
jne 0x5ebccc
cmp eax, 0
je 0x5ebcd8
mov esi, 8
jmp 0x5f0895
mov esi, 0xb
jmp 0x5f0895
mov eax, dword [esp + 8]
mov ecx, dword [ebx + 4]
shl ecx, 4
mov edx, dword [eax + 0x10]
add edx, ecx
mov dword [esp + 0x1e4], edx
mov ecx, dword [esp + 0x1e4]
mov eax, dword [ecx + 4]
mov dword [esp + 0x1e0], eax
cmp dword [esp + 0x1e0], 0
je 0x5ebe27
lea ecx, [esp + 0x1e8]
mov edx, dword [ebx + 8]
mov eax, dword [esp + 0x1e0]
call fcn.00629f98
mov esi, eax
test esi, esi
je 0x5ebd67
mov eax, esi
and eax, 0xff
cmp eax, 5
jne 0x5f0895
mov eax, ebx
sub eax, dword [esp + 4]
mov ecx, 0x28
cdq
idiv ecx
mov edx, dword [esp]
mov dword [edx + 0x20], eax
mov eax, dword [esp]
mov dword [eax + 0x24], esi
jmp 0x5f0984
mov ecx, dword [esp]
test byte [ecx + 0x98], 0x20
je 0x5ebe27
cmp dword [ebx + 8], 0
je 0x5ebe27
mov ecx, dword [esp + 8]
cmp byte [ecx + 0x55], 0
je 0x5ebd9c
mov eax, dword [esp + 8]
cmp dword [eax + 0xbc], 1
jle 0x5ebe27
mov edx, dword [esp]
cmp dword [edx + 0x30], 0
jne 0x5ebdc9
mov ecx, dword [esp + 8]
inc dword [ecx + 0x204]
mov eax, dword [esp + 8]
mov ecx, dword [esp]
mov edx, dword [eax + 0x200]
mov eax, dword [esp + 8]
add edx, dword [eax + 0x204]
mov dword [ecx + 0x30], edx
mov edx, dword [esp]
mov ecx, dword [edx + 0x30]
dec ecx
xor edx, edx
mov eax, dword [esp + 8]
call fcn.00608ca0
mov esi, eax
test esi, esi
jne 0x5ebdf5
mov eax, dword [esp]
mov edx, dword [eax + 0x30]
mov eax, dword [esp + 0x1e0]
call fcn.0062ab04
mov esi, eax
mov eax, dword [esp]
mov edx, dword [esp + 8]
mov ecx, dword [edx + 0x208]
mov dword [eax + 0x48], ecx
mov ecx, dword [edx + 0x20c]
mov dword [eax + 0x4c], ecx
mov ecx, dword [esp]
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x210]
mov dword [ecx + 0x50], edx
mov edx, dword [eax + 0x214]
mov dword [ecx + 0x54], edx
test esi, esi
jne 0x5ebeca
cmp word [ebx + 2], 0
je 0x5ebeca
mov ecx, dword [esp + 0x1e8]
cmp ecx, dword [ebx + 0xc]
jne 0x5ebe58
mov eax, dword [esp + 0x1e4]
mov edx, dword [eax + 0xc]
mov ecx, dword [edx + 4]
cmp ecx, dword [ebx + 0x10]
je 0x5ebeca
mov eax, dword [esp]
mov edx, dword [eax + 0x7c]
mov eax, dword [esp + 8]
call fcn.0064cb60
mov edx, 0x67a22d
mov eax, dword [esp + 8]
call fcn.0064d008
mov edx, dword [esp]
mov dword [edx + 0x7c], eax
mov esi, dword [esp + 8]
mov ecx, dword [ebx + 4]
shl ecx, 4
mov eax, dword [esi + 0x10]
mov edx, dword [eax + ecx + 0xc]
mov ecx, dword [edx]
cmp ecx, dword [esp + 0x1e8]
je 0x5ebea3
mov edx, dword [ebx + 4]
mov eax, dword [esp + 8]
call fcn.005cdf70
mov ecx, dword [esp]
mov eax, dword [esp]
mov esi, 0x11
mov cl, byte [ecx + 0x98]
and cl, 0xfc
or cl, 1
mov byte [eax + 0x98], cl
mov eax, dword [esp]
and byte [eax + 0x98], 0xef
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
mov dword [esp + 0x1f0], edx
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x1f4], ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x1f0]
shl ecx, 4
mov edx, dword [eax + 0x10]
mov eax, dword [edx + ecx + 4]
lea ecx, [esp + 0x1ec]
mov edx, dword [esp + 0x1f4]
call fcn.006306a4
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x2c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5e8207.89
mov ecx, dword [esp + 8]
mov edx, dword [ebx + 4]
shl edx, 4
mov eax, dword [ecx + 0x10]
add eax, edx
mov dword [esp + 0x1f8], eax
mov ecx, dword [esp + 0x1f8]
mov edx, dword [ebx + 8]
mov eax, dword [ecx + 4]
mov ecx, dword [ebx + 0xc]
call fcn.006306f0
cmp dword [ebx + 8], 1
mov esi, eax
jne 0x5ebf95
movzx eax, word [ebx + 2]
mov ecx, dword [esp + 0x1f8]
mov edx, dword [ebx + 0xc]
sub edx, eax
mov eax, dword [ecx + 0xc]
mov dword [eax], edx
mov edx, dword [esp + 8]
or dword [edx + 0x18], 1
mov edx, dword [ebx + 4]
mov eax, dword [esp + 8]
call fcn.005f13d8
jmp 0x5ebfab
cmp dword [ebx + 8], 2
jne 0x5ebfab
mov ecx, dword [esp + 0x1f8]
mov ecx, dword [ecx + 0xc]
mov al, byte [ebx + 0xc]
mov byte [ecx + 0x4c], al
cmp dword [ebx + 4], 1
jne 0x5ebfc6
xor edx, edx
mov eax, dword [esp + 8]
call fcn.00635bc4
mov edx, dword [esp]
and byte [edx + 0x98], 0xfc
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x60]
mov eax, dword [ebx + 4]
mov ebp, dword [ecx + eax*4]
test ebp, ebp
je case.0x5e8207.112
mov eax, dword [ebp + 0x30]
cmp eax, dword [ebx + 8]
jne case.0x5e8207.112
mov eax, dword [ebp + 0x24]
call fcn.006275c0
jmp 0x5ec18e
mov edx, dword [esp]
mov cl, byte [edx + 0x98]
and ecx, 3
cmp ecx, 1
jne 0x5ec013
mov esi, 0x204
jmp 0x5f0895
xor eax, eax
xor edx, edx
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], edx
mov ecx, dword [ebx + 8]
mov dword [esp + 0x204], ecx
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x208], ecx
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x10]
mov eax, dword [esp + 0x208]
shl eax, 4
add edx, eax
mov dword [esp + 0x214], edx
mov edx, dword [esp + 0x214]
mov ecx, dword [edx + 4]
mov dword [esp + 0x210], ecx
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0x71
jne 0x5ec0ae
movzx eax, word [ebx + 2]
and eax, 8
or eax, 4
mov dword [esp + 0x20c], eax
mov edx, dword [esp + 0x214]
mov ecx, dword [edx + 0xc]
mov edx, dword [esp]
mov al, byte [ecx + 0x4c]
cmp al, byte [edx + 0x95]
jae 0x5ec0b7
mov ecx, dword [esp + 0x214]
mov eax, dword [ecx + 0xc]
mov dl, byte [eax + 0x4c]
mov eax, dword [esp]
mov byte [eax + 0x95], dl
jmp 0x5ec0b7
xor edx, edx
mov dword [esp + 0x20c], edx
test byte [ebx + 2], 0x10
je 0x5ec0e0
mov ebp, dword [esp + 0x204]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
mov eax, ebp
call fcn.006478bc
mov eax, dword [ebp]
mov dword [esp + 0x204], eax
cmp byte [ebx + 1], 0xf8
jne 0x5ec104
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x200], edx
mov ecx, dword [esp + 0x200]
movzx ecx, word [ecx + 8]
mov dword [esp + 0x1fc], ecx
jmp 0x5ec114
cmp byte [ebx + 1], 0xfd
jne 0x5ec114
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x1fc], eax
push 0
mov ecx, dword [esp + 0x200]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 4]
call fcn.005e7a98
mov ebp, eax
test ebp, ebp
je 0x5f0a3e
mov al, byte [esp + 0x208]
mov byte [ebp + 1], al
mov byte [ebp + 2], 1
or byte [ebp + 5], 4
mov edx, dword [esp + 0x204]
mov dword [ebp + 0x30], edx
mov ecx, dword [esp + 0x200]
push ecx
mov ecx, dword [ebp + 0x24]
push ecx
mov ecx, dword [esp + 0x214]
mov edx, dword [esp + 0x20c]
mov eax, dword [esp + 0x218]
call fcn.0062ac9c
mov esi, eax
mov eax, dword [esp + 0x200]
mov dword [ebp + 0x28], eax
cmp byte [ebx + 1], 0xf8
setne dl
and edx, 1
mov byte [ebp + 4], dl
movzx edx, word [ebx + 2]
and edx, 3
mov eax, dword [ebp + 0x24]
call fcn.00627730
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov ecx, dword [esp]
mov eax, dword [ebx + 8]
mov ecx, dword [ecx + 0x60]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x218], edx
push 0
mov ecx, dword [esp + 0x21c]
mov eax, dword [esp + 4]
mov edx, dword [ebx + 4]
movsx ecx, word [ecx + 0x34]
call fcn.005e7a98
test eax, eax
je 0x5f0a3e
mov byte [eax + 2], 1
or byte [eax + 5], 1
mov edx, dword [esp + 0x218]
mov ecx, dword [edx + 0x28]
mov dword [eax + 0x28], ecx
mov edx, dword [esp + 0x218]
mov cl, byte [edx + 4]
mov byte [eax + 4], cl
mov edx, dword [esp + 0x218]
mov ecx, dword [edx + 0x30]
mov dword [eax + 0x30], ecx
mov edx, dword [esp + 0x218]
mov cl, byte [edx + 5]
mov dl, byte [eax + 5]
shr ecx, 2
and dl, 0xfb
and ecx, 1
and cl, 1
shl ecx, 2
or cl, dl
mov byte [eax + 5], cl
mov ecx, dword [esp + 0x218]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
or byte [eax + 5], 8
mov ecx, dword [esp + 0x218]
or byte [ecx + 5], 8
mov edx, dword [eax + 0x28]
push edx
mov ecx, dword [eax + 0x24]
push ecx
mov ecx, 4
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 8]
call fcn.0062ac9c
mov esi, eax
jmp case.0x5e8207.89
cmp dword [ebx + 0xc], 0
jle 0x5ec291
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov dword [edx + eax*8 + 0xc], ecx
mov ecx, dword [ebx + 0xc]
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x24]
mov dword [eax + ecx*8 + 8], 0x67a05f
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov ebp, dword [ecx + eax*4]
test ebp, ebp
je 0x5ec2d7
test byte [ebp + 5], 8
jne 0x5ec2d7
movsx eax, word [ebp + 0x34]
cmp eax, dword [ebx + 8]
jl 0x5ec2d7
mov dword [ebp + 0x10], 0
mov dword [ebp + 0x14], 0
xor edx, edx
mov dword [ebp + 0x18], edx
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 8]
xor ecx, ecx
call fcn.00630434
mov esi, eax
jmp 0x5ec3d5
push 0
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 4]
call fcn.005e7a98
mov ebp, eax
test ebp, ebp
je 0x5f0a3e
or byte [ebp + 5], 1
lea eax, [ebp + 8]
mov ecx, dword [0x67a058]
push eax
movzx edx, word [ebx + 2]
or edx, 5
push edx
push ecx
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, dword [ecx]
mov ecx, dword [esp + 0x14]
call fcn.00628ffc
mov esi, eax
test esi, esi
jne 0x5ec3d5
mov eax, dword [ebp + 8]
xor ecx, ecx
mov edx, 1
call fcn.00629f98
mov esi, eax
test esi, esi
jne 0x5ec3ab
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x21c], eax
mov dword [ebp + 0x28], eax
test eax, eax
je 0x5ec386
movzx ecx, word [ebx + 2]
or ecx, 2
lea edx, [ebp + 0x30]
mov eax, dword [ebp + 8]
call fcn.00630228
mov esi, eax
test esi, esi
jne 0x5ec380
mov eax, dword [esp + 0x21c]
push eax
mov edx, dword [ebp + 0x24]
push edx
mov edx, dword [ebp + 0x30]
mov eax, dword [ebp + 8]
mov ecx, 4
call fcn.0062ac9c
mov esi, eax
mov byte [ebp + 4], 0
jmp 0x5ec3ab
mov dword [ebp + 0x30], 1
push 0
mov ecx, 4
mov eax, dword [ebp + 0x24]
mov edx, 1
push eax
mov eax, dword [ebp + 8]
call fcn.0062ac9c
mov byte [ebp + 4], 1
mov esi, eax
movzx eax, word [ebx + 2]
cmp eax, 8
mov cl, byte [ebp + 5]
setne dl
and edx, 1
and cl, 0xfb
and dl, 1
shl edx, 2
or dl, cl
test esi, esi
mov byte [ebp + 5], dl
je 0x5ec3d5
mov eax, dword [ebp + 8]
call fcn.00629604
test esi, esi
jne 0x5f0895
mov byte [ebp + 2], 1
jmp case.0x5e8207.89
push 1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 4]
call fcn.005e7a98
mov dword [esp + 0x220], eax
cmp dword [esp + 0x220], 0
je 0x5f0a3e
mov edx, dword [esp + 0x220]
mov ecx, dword [ebx + 0x10]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0x220]
mov edx, dword [ebx + 0xc]
mov eax, dword [esp + 8]
call fcn.0063692c
mov esi, eax
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov eax, dword [esp]
mov edx, dword [eax + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x224], ecx
mov ecx, dword [esp + 0x224]
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
add dword [ecx + 0x10], 1
adc dword [ecx + 0x14], 0
cmp edx, 0
jne case.0x5e8207.89
cmp eax, 0
jne case.0x5e8207.89
jmp 0x5e8637
push 3
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 4]
call fcn.005e7a98
mov dword [esp + 0x228], eax
cmp dword [esp + 0x228], 0
je 0x5f0a3e
mov ecx, dword [esp + 0x228]
mov byte [ecx + 2], 1
mov eax, dword [esp + 0x228]
mov edx, dword [ebx + 8]
mov dword [eax + 0x1c], edx
mov ecx, dword [esp + 0x228]
mov byte [ecx + 4], 1
call fcn.006276e8
mov edx, dword [esp + 0x228]
mov dword [edx + 0x24], eax
jmp case.0x5e8207.89
mov eax, dword [esp]
mov ecx, dword [eax + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov eax, dword [esp]
call fcn.00633800
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
xor edx, edx
mov dword [ecx + eax*4], edx
jmp case.0x5e8207.89
mov ecx, dword [esp]
mov eax, dword [ebx + 4]
mov ecx, dword [ecx + 0x60]
mov edx, dword [ecx + eax*4]
xor ecx, ecx
mov dword [esp + 0x234], edx
xor eax, eax
mov cl, byte [ebx]
mov dword [esp + 0x230], ecx
mov dword [esp + 0x244], eax
mov edx, dword [esp + 0x234]
mov byte [edx + 2], 0
mov ecx, dword [esp + 0x234]
xor edx, edx
mov byte [ecx + 3], 0
mov eax, dword [esp + 0x234]
mov dword [eax + 0x18], edx
mov ecx, dword [esp + 0x234]
cmp byte [ecx + 4], 0
je 0x5ec6c9
mov ebp, dword [ebx + 0xc]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
mov ax, word [ebp + 0x10]
mov word [esp + 0x248], ax
movzx edx, word [esp + 0x248]
and edx, 0x2e
cmp edx, 2
jne 0x5ec590
xor edx, edx
mov eax, ebp
call fcn.005e7c08
mov eax, ebp
call fcn.0064772c
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], edx
mov dx, word [ebp + 0x10]
mov word [esp + 0x24a], dx
mov cx, word [esp + 0x248]
mov word [ebp + 0x10], cx
test byte [esp + 0x24a], 0x24
jne 0x5ec674
test byte [esp + 0x24a], 8
jne 0x5ec619
test byte [esp + 0x24a], 1
jne 0x5e8637
cmp dword [esp + 0x230], 0x17
jl 0x5ec5f4
jmp 0x5e8637
lea edx, [esp + 0x22c]
mov eax, dword [esp + 0x234]
mov eax, dword [eax + 0x24]
call fcn.0062b650
mov esi, eax
test esi, esi
jne 0x5f0895
jmp 0x5ec87d
push dword [esp + 0x240]
push dword [esp + 0x240]
push dword [ebp + 4]
push dword [ebp]
call fcn.00634cc8
mov dword [esp + 0x24c], eax
cmp dword [esp + 0x24c], 0
jle 0x5ec656
test byte [esp + 0x230], 1
jne 0x5ec674
dec dword [esp + 0x230]
jmp 0x5ec674
cmp dword [esp + 0x24c], 0
jge 0x5ec674
mov ecx, dword [esp + 0x230]
and ecx, 1
dec ecx
jne 0x5ec674
inc dword [esp + 0x230]
push dword [esp + 0x240]
push dword [esp + 0x240]
lea ecx, [esp + 0x234]
mov eax, dword [esp + 0x23c]
mov eax, dword [eax + 0x24]
xor edx, edx
call fcn.0062b668
mov esi, eax
mov eax, dword [esp + 0x234]
mov edx, dword [esp + 0x23c]
test esi, esi
mov dword [eax + 0x38], edx
mov edx, dword [esp + 0x240]
mov dword [eax + 0x3c], edx
je 0x5ec791
jmp 0x5f0895
mov ecx, dword [esp + 0x234]
mov edx, 2
mov eax, dword [ecx + 0x24]
call fcn.006317b0
test eax, eax
je 0x5ec6ec
mov dword [esp + 0x244], 1
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x238], ecx
mov ecx, dword [esp + 0x234]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x560], eax
mov dx, word [esp + 0x238]
mov word [esp + 0x574], dx
mov ecx, dword [esp + 0x230]
add ecx, 0xffffffeb
test cl, 1
je 0x5ec72b
or eax, 0xffffffff
jmp 0x5ec72d
mov al, 1
mov byte [esp + 0x576], al
lea ecx, [esp + 0x22c]
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x564], edx
lea edx, [esp + 0x560]
mov byte [esp + 0x57a], 0
mov eax, dword [esp + 0x234]
mov eax, dword [eax + 0x24]
call fcn.0062b9c0
mov esi, eax
test esi, esi
je 0x5ec778
jmp 0x5f0895
cmp dword [esp + 0x244], 0
je 0x5ec791
cmp byte [esp + 0x57a], 0
jne 0x5ec791
jmp 0x5ec87d
cmp dword [esp + 0x230], 0x17
jl 0x5ec80a
cmp dword [esp + 0x22c], 0
jl 0x5ec7b9
cmp dword [esp + 0x22c], 0
jne 0x5ec7ff
cmp dword [esp + 0x230], 0x18
jne 0x5ec7ff
xor eax, eax
mov dword [esp + 0x22c], eax
mov edx, dword [esp + 0x234]
mov eax, dword [edx + 0x24]
xor edx, edx
call fcn.0062bf24
mov esi, eax
test esi, esi
je 0x5ec87d
cmp esi, 0x65
jne 0x5f0895
mov dword [esp + 0x22c], 1
xor esi, esi
jmp 0x5ec87d
xor eax, eax
mov dword [esp + 0x22c], eax
jmp 0x5ec87d
cmp dword [esp + 0x22c], 0
jg 0x5ec828
cmp dword [esp + 0x22c], 0
jne 0x5ec867
cmp dword [esp + 0x230], 0x15
jne 0x5ec867
xor edx, edx
mov dword [esp + 0x22c], edx
xor edx, edx
mov ecx, dword [esp + 0x234]
mov eax, dword [ecx + 0x24]
call fcn.0062c058
mov esi, eax
test esi, esi
je 0x5ec87d
cmp esi, 0x65
jne 0x5f0895
mov dword [esp + 0x22c], 1
xor esi, esi
jmp 0x5ec87d
mov eax, dword [esp + 0x234]
mov eax, dword [eax + 0x24]
call fcn.0062bda4
mov dword [esp + 0x22c], eax
cmp dword [esp + 0x22c], 0
je 0x5ec891
jmp 0x5e8637
cmp dword [esp + 0x244], 0
je case.0x5e8207.89
add ebx, 0x28
jmp case.0x5e8207.89
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 0x2c]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x250], edx
mov ecx, dword [esp + 0x250]
mov eax, dword [ecx + 0x24]
call fcn.0062ad7c
test eax, eax
jne 0x5ec8d2
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
mov dword [esp + 0x258], edx
mov ecx, dword [esp + 0x250]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x580], ecx
mov ax, word [ebx + 0x38]
mov word [esp + 0x594], ax
mov byte [esp + 0x596], 0
mov edx, dword [ebx + 0x34]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
xor ecx, ecx
mov dword [esp + 0x584], edx
mov dword [esp + 0x254], ecx
lea eax, [esp + 0x254]
push eax
lea ecx, [esp + 0x584]
mov edx, dword [esp + 0x254]
mov eax, dword [esp + 0xc]
call fcn.00635af8
mov esi, eax
test esi, esi
jne 0x5f0895
cmp dword [esp + 0x254], 0
jle 0x5ec960
cmp word [ebx + 2], 0
jne 0x5ec960
add ebx, 0x28
jmp 0x5e8637
cmp dword [esp + 0x254], 0
jl 0x5ec96f
jmp 0x5e8637
cmp dword [esp + 0x258], 0
jg 0x5ec97e
jmp case.0x5e8207.89
dec dword [esp + 0x258]
xor edx, edx
mov eax, dword [esp + 0x250]
mov dword [eax + 0x18], edx
xor edx, edx
mov ecx, dword [esp + 0x250]
mov eax, dword [ecx + 0x24]
call fcn.0062bf24
mov esi, eax
test esi, esi
je 0x5ec91e
cmp esi, 0x65
jne 0x5f0895
xor esi, esi
jmp 0x5ec958
mov eax, dword [esp]
mov edx, dword [eax + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x25c], ecx
mov eax, dword [esp + 0x25c]
movzx edx, word [eax + 6]
cmp edx, dword [ebx + 8]
jge 0x5ec9ff
mov ecx, dword [esp + 0x25c]
mov ax, word [ebx + 8]
mov word [ecx + 6], ax
jmp case.0x5e8207.89
mov edx, dword [esp + 0x25c]
movzx ecx, word [edx + 6]
cmp ecx, dword [ebx + 0xc]
jle case.0x5e8207.89
mov eax, dword [esp + 0x25c]
mov dx, word [ebx + 0xc]
mov word [eax + 6], dx
jmp case.0x5e8207.89
mov ecx, dword [esp]
mov eax, dword [ecx + 0x60]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x260], ecx
cmp dword [esp + 0x260], 0
je case.0x5e8207.9
mov eax, dword [esp + 0x260]
cmp byte [eax + 2], 0
je case.0x5e8207.89
jmp case.0x5e8207.9
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x264], edx
mov ecx, dword [esp + 0x264]
movzx eax, word [ecx + 6]
cmp eax, dword [ebx + 0x10]
jge case.0x5e8207.89
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x270], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x5a4], ecx
mov ax, word [ebx + 0x10]
mov word [esp + 0x5b4], ax
movzx edx, word [esp + 0x5b4]
test edx, edx
jle 0x5ecb09
mov ecx, dword [esp + 0x270]
lea edx, [esp + 0x5a0]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x5a0], eax
mov byte [esp + 0x5b6], 0
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x270]
add ecx, 0x1c
mov eax, dword [eax + 0x24]
call fcn.0062b9c0
mov esi, eax
jmp 0x5ecbbc
mov eax, dword [esp + 0x5a4]
test byte [eax + 0x11], 4
je 0x5ecb26
mov eax, dword [esp + 0x5a4]
call fcn.006474f0
mov esi, eax
jmp 0x5ecb28
xor esi, esi
test esi, esi
jne 0x5f0a3e
mov eax, dword [esp + 0x270]
mov eax, dword [eax + 0x28]
call fcn.00634a10
mov dword [esp + 0x274], eax
cmp dword [esp + 0x274], 0
je 0x5f0a3e
mov edx, dword [esp + 0x274]
push edx
mov eax, dword [esp + 0x5a8]
mov ecx, dword [esp + 0x5a8]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x274]
mov ecx, dword [ecx + 8]
mov eax, dword [eax + 0x28]
call fcn.00634a4c
mov edx, dword [esp + 0x274]
mov byte [edx + 0x16], 0
mov esi, dword [esp + 0x270]
mov ecx, dword [esp + 0x270]
add ecx, 0x1c
mov edx, dword [esp + 0x274]
mov eax, dword [esi + 0x24]
call fcn.0062b9c0
mov esi, eax
mov edx, dword [esp + 0x274]
mov eax, dword [esp + 8]
call fcn.0064cabc
test esi, esi
je 0x5ecbc5
jmp 0x5f0895
mov ecx, dword [esp + 0x270]
cmp dword [ecx + 0x1c], 0
sete cl
and ecx, 1
mov dword [esp + 0x268], ecx
mov al, 1
sub al, byte [esp + 0x268]
mov edx, dword [esp + 0x270]
mov byte [edx + 2], al
mov ecx, dword [esp + 0x270]
mov byte [ecx + 3], 0
mov eax, dword [esp + 0x270]
xor edx, edx
mov dword [eax + 0x18], edx
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0x1d
jne 0x5ecc23
cmp dword [esp + 0x268], 0
jne 0x5e8637
jmp case.0x5e8207.89
cmp dword [esp + 0x268], 0
jne 0x5ecc32
jmp 0x5e8637
xor eax, eax
mov al, byte [ebx]
cmp eax, 0x1b
jne 0x5ecc7b
xor edx, edx
mov dword [esp + 0x26c], edx
jmp 0x5ecc6a
mov ecx, dword [esp + 0x26c]
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x5a4]
test byte [eax + ecx*8 + 0x10], 1
je 0x5ecc63
jmp 0x5e8637
inc dword [esp + 0x26c]
movzx edx, word [esp + 0x5b4]
cmp edx, dword [esp + 0x26c]
jg 0x5ecc46
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0x1a
jne case.0x5e8207.89
mov eax, dword [esp + 0x270]
mov dx, word [ebx + 0x10]
mov word [eax + 6], dx
jmp case.0x5e8207.89
mov ebp, dword [ebx + 0xc]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
test byte [ebp + 0x10], 0x24
jne case.0x5e8207.31
push esi
push edi
mov esi, ebp
lea edi, [esp + 0x5c8]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esp + 0x5c0]
mov cl, byte [esp + 0xd]
mov dl, 0x43
call fcn.005e7c70
test byte [esp + 0x5d0], 4
je 0x5e8637
mov ecx, dword [esp + 0x5c0]
mov dword [esp + 0x284], ecx
mov ecx, dword [esp + 0x5c4]
mov dword [esp + 0x288], ecx
jmp 0x5ecd24
mov ebp, dword [ebx + 0xc]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
mov eax, dword [ebp]
mov dword [esp + 0x284], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x288], eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov esi, dword [ebx + 4]
mov eax, dword [ecx + esi*4]
mov dword [esp + 0x278], eax
mov edx, dword [esp + 0x278]
mov ecx, dword [edx + 0x24]
mov dword [esp + 0x27c], ecx
xor ecx, ecx
mov dword [esp + 0x280], ecx
push dword [esp + 0x288]
push dword [esp + 0x288]
lea ecx, [esp + 0x288]
xor edx, edx
mov eax, dword [esp + 0x284]
call fcn.0062b668
mov esi, eax
mov eax, dword [esp + 0x278]
mov edx, dword [esp + 0x284]
mov dword [eax + 0x38], edx
mov edx, dword [esp + 0x288]
mov dword [eax + 0x3c], edx
mov ecx, dword [esp + 0x278]
mov byte [ecx + 2], 0
mov ecx, dword [esp + 0x278]
xor eax, eax
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x278]
mov byte [edx + 3], 0
mov ecx, dword [esp + 0x278]
mov eax, dword [esp + 0x280]
mov dword [ecx + 0x1c], eax
cmp dword [esp + 0x280], 0
je 0x5ecdeb
cmp dword [ebx + 8], 0
jne 0x5e8637
mov eax, 0x154d
call fcn.006006d0
mov esi, eax
jmp 0x5ecdeb
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x60]
mov ebp, dword [ebx + 4]
mov ecx, dword [ecx + ebp*4]
mov eax, dword [ecx + 0x10]
mov edx, dword [ecx + 0x14]
add dword [ecx + 0x10], 1
adc dword [ecx + 0x14], 0
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5e8207.89
mov dword [esp + 0x28c], 0
mov dword [esp + 0x290], 0
xor eax, eax
mov dword [esp + 0x298], eax
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x294], edx
mov ecx, dword [esp + 0x294]
test byte [ecx + 5], 2
jne 0x5ecf17
lea edx, [esp + 0x298]
mov eax, dword [esp + 0x294]
mov eax, dword [eax + 0x24]
call fcn.0062b650
mov esi, eax
test esi, esi
je 0x5ecea0
jmp 0x5f0895
cmp dword [esp + 0x298], 0
je 0x5ecec2
mov dword [esp + 0x28c], 1
mov dword [esp + 0x290], 0
jmp 0x5ecf17
mov eax, dword [esp + 0x294]
mov eax, dword [eax + 0x24]
call fcn.0062ad88
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], edx
cmp dword [esp + 0x290], 0x7fffffff
jne 0x5ecef8
cmp dword [esp + 0x28c], 0xffffffff
jb 0x5ecf07
jmp 0x5ecefa
jl 0x5ecf07
mov edx, dword [esp + 0x294]
or byte [edx + 5], 2
jmp 0x5ecf17
add dword [esp + 0x28c], 1
adc dword [esp + 0x290], 0
cmp dword [ebx + 0xc], 0
je 0x5ed029
mov ecx, dword [esp]
cmp dword [ecx + 0xd8], 0
je 0x5ecf7b
mov ecx, dword [esp]
mov eax, dword [ecx + 0xd8]
mov dword [esp + 0x2a4], eax
jmp 0x5ecf50
mov edx, dword [esp + 0x2a4]
mov ecx, dword [edx + 4]
mov dword [esp + 0x2a4], ecx
mov eax, dword [esp + 0x2a4]
cmp dword [eax + 4], 0
jne 0x5ecf3f
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x2a4]
shl eax, 3
mov ecx, dword [edx + 0xc]
lea eax, [eax + eax*4]
add ecx, eax
mov dword [esp + 0x2a0], ecx
jmp 0x5ecf8f
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x2a0], edx
mov eax, dword [esp + 0x2a0]
call fcn.006478bc
mov edx, dword [esp + 0x2a0]
cmp dword [edx + 4], 0x7fffffff
jne 0x5ecfae
cmp dword [edx], 0xffffffff
je 0x5ecfbd
mov ecx, dword [esp + 0x294]
test byte [ecx + 5], 2
je 0x5ecfc7
mov esi, 0xd
jmp 0x5f0895
mov eax, dword [esp + 0x2a0]
mov edx, dword [eax + 4]
mov eax, dword [eax]
add eax, 1
adc edx, 0
cmp edx, dword [esp + 0x290]
jne 0x5ecfed
cmp eax, dword [esp + 0x28c]
jbe 0x5ed00f
jmp 0x5ecfef
jle 0x5ed00f
mov ecx, dword [esp + 0x2a0]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
add eax, 1
adc edx, 0
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], edx
mov ecx, dword [esp + 0x2a0]
mov eax, dword [esp + 0x28c]
mov dword [ecx], eax
mov eax, dword [esp + 0x290]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x294]
test byte [edx + 5], 2
je 0x5ed0dc
xor ecx, ecx
mov dword [esp + 0x29c], ecx
lea edx, [esp + 0x28c]
mov eax, 8
call fcn.00649518
and dword [esp + 0x28c], 0xffffffff
and dword [esp + 0x290], 0x3fffffff
add dword [esp + 0x28c], 1
adc dword [esp + 0x290], 0
push dword [esp + 0x290]
push dword [esp + 0x290]
lea ecx, [esp + 0x2a0]
mov eax, dword [esp + 0x29c]
mov eax, dword [eax + 0x24]
xor edx, edx
call fcn.0062b668
mov esi, eax
test eax, eax
jne 0x5ed0c0
cmp dword [esp + 0x298], 0
jne 0x5ed0c0
inc dword [esp + 0x29c]
mov edx, dword [esp + 0x29c]
cmp edx, 0x64
jl 0x5ed043
test esi, esi
jne 0x5f0895
cmp dword [esp + 0x298], 0
jne 0x5ed0dc
mov esi, 0xd
jmp 0x5f0895
mov eax, dword [esp + 0x294]
mov byte [eax + 3], 0
mov edx, dword [esp + 0x294]
xor ecx, ecx
mov dword [edx + 0x18], ecx
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28c]
mov dword [ecx], eax
mov eax, dword [esp + 0x290]
mov dword [ecx + 4], eax
jmp case.0x5e8207.89
mov edx, dword [ebx + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x2a8], edx
mov ecx, dword [esp]
mov eax, dword [ecx + 0x60]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x2b0], ecx
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x2ac], eax
mov edx, dword [esp + 0x2ac]
mov eax, dword [edx]
mov dword [esp + 0x5f0], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x5f4], eax
cmp byte [ebx + 1], 0xfb
jne 0x5ed1af
mov edx, dword [esp + 8]
cmp dword [edx + 0x110], 0
jne 0x5ed184
mov ecx, dword [esp + 8]
cmp dword [ecx + 0xf8], 0
je 0x5ed1af
mov ecx, dword [esp + 0x2b0]
mov edx, dword [esp + 8]
movsx eax, byte [ecx + 1]
shl eax, 4
mov edx, dword [edx + 0x10]
mov eax, dword [edx + eax]
mov dword [esp + 0x2b8], eax
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x2bc], ecx
jmp 0x5ed1c1
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2b8], eax
cmp dword [esp + 0x2bc], 0
je 0x5ed23a
mov edx, dword [esp + 8]
cmp dword [edx + 0x110], 0
je 0x5ed217
test byte [ebx + 2], 4
jne 0x5ed217
mov ecx, dword [esp + 0x2b8]
push ecx
mov eax, dword [esp + 0x2c0]
push eax
push dword [esp + 0x5fc]
push dword [esp + 0x5fc]
mov ecx, dword [ebx + 8]
push ecx
push 0xffffffffffffffff
mov ecx, 0x12
mov edx, dword [esp + 0x2c8]
mov eax, dword [esp + 0x18]
call fcn.00635d64
mov ecx, dword [esp + 8]
cmp dword [ecx + 0xf8], 0
je 0x5ed231
mov eax, dword [esp + 0x2bc]
cmp dword [eax + 4], 0
jne 0x5ed23a
xor edx, edx
mov dword [esp + 0x2bc], edx
test byte [ebx + 2], 0x40
jne case.0x5e8207.89
test byte [ebx + 2], 1
je 0x5ed273
mov ecx, dword [esp]
add dword [ecx + 0x28], 1
adc dword [ecx + 0x2c], 0
test byte [ebx + 2], 0x20
je 0x5ed273
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x5f0]
mov dword [eax + 0x28], edx
mov edx, dword [esp + 0x5f4]
mov dword [eax + 0x2c], edx
mov ecx, dword [esp + 0x2a8]
mov eax, dword [ecx + 8]
mov dword [esp + 0x5f8], eax
mov edx, dword [esp + 0x2a8]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x604], ecx
test byte [ebx + 2], 0x10
je 0x5ed2a7
mov eax, dword [esp + 0x2b0]
mov edx, dword [eax + 0x1c]
jmp 0x5ed2a9
xor edx, edx
mov dword [esp + 0x2b4], edx
mov eax, dword [esp + 0x2a8]
test byte [eax + 0x11], 4
je 0x5ed2cf
mov ecx, dword [esp + 0x2a8]
mov ecx, dword [ecx]
mov dword [esp + 0x608], ecx
jmp 0x5ed2d8
xor eax, eax
mov dword [esp + 0x608], eax
xor edx, edx
mov dword [esp + 0x5e8], edx
mov ecx, dword [esp + 0x2b4]
push ecx
lea edx, [esp + 0x5ec]
movzx ecx, word [ebx + 2]
mov eax, dword [esp + 0x2b4]
and ecx, 0x8a
mov eax, dword [eax + 0x24]
call fcn.0062f3c8
mov esi, eax
mov eax, dword [esp + 0x2b0]
mov byte [eax + 3], 0
mov edx, dword [esp + 0x2b0]
xor ecx, ecx
mov dword [edx + 0x18], ecx
inc dword [esp + 0x30]
test esi, esi
jne 0x5f0895
cmp dword [esp + 0x2bc], 0
je case.0x5e8207.89
mov ecx, dword [esp + 0x2bc]
mov eax, dword [ecx]
push eax
push dword [esp + 0x5f8]
push dword [esp + 0x5f8]
test byte [ebx + 2], 4
je 0x5ed361
mov edx, 0x17
jmp 0x5ed366
mov edx, 0x12
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c4]
mov eax, dword [eax + 0xf4]
call dword [ebp + 0xf8]
jmp case.0x5e8207.89
mov eax, dword [esp]
mov edx, dword [eax + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [edx + eax*4]
mov dword [esp + 0x2c0], edx
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x60]
mov eax, dword [ebx + 8]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x2c4], edx
cmp dword [ebx + 0xc], 0
je 0x5ed3c5
mov ecx, dword [ebx + 0xc]
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x24]
mov edx, dword [eax + ecx*8 + 4]
mov eax, dword [eax + ecx*8]
jmp 0x5ed3c9
xor eax, eax
xor edx, edx
mov dword [esp + 0x2c8], eax
mov dword [esp + 0x2cc], edx
push dword [esp + 0x2cc]
push dword [esp + 0x2cc]
mov eax, dword [esp + 0x2cc]
mov edx, dword [eax + 0x24]
mov eax, dword [esp + 0x2c8]
mov eax, dword [eax + 0x24]
call fcn.0062f8d0
mov esi, eax
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov eax, dword [ebx + 8]
mov dword [esp + 0x2dc], eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x2d0], edx
cmp byte [ebx + 1], 0xfb
jne 0x5ed4a4
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x110], 0
jne 0x5ed44a
mov ecx, dword [esp + 8]
cmp dword [ecx + 0xf8], 0
je 0x5ed4a4
mov eax, dword [esp + 0x2d0]
movsx edx, byte [eax + 1]
shl edx, 4
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x10]
mov edx, dword [ecx + edx]
mov dword [esp + 0x2d4], edx
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x2d8], ecx
test byte [ebx + 2], 2
je 0x5ed4b6
mov eax, dword [esp + 0x2d0]
cmp byte [eax + 4], 0
je 0x5ed4b6
mov edx, dword [esp + 0x2d0]
mov eax, dword [edx + 0x24]
call fcn.0062ad88
mov ecx, dword [esp + 0x2d0]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], edx
jmp 0x5ed4b6
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x2d4], edx
mov dword [esp + 0x2d8], ecx
mov eax, dword [esp + 8]
cmp dword [eax + 0x110], 0
je 0x5ed516
cmp dword [esp + 0x2d8], 0
je 0x5ed516
mov edx, dword [esp + 0x2d4]
push edx
mov ecx, dword [esp + 0x2dc]
push ecx
mov eax, dword [esp + 0x2d8]
push dword [eax + 0x3c]
push dword [eax + 0x38]
mov ecx, dword [ebx + 0xc]
push ecx
push 0xffffffffffffffff
test byte [esp + 0x2f4], 4
je 0x5ed501
mov ecx, 0x17
jmp 0x5ed506
mov ecx, 9
mov edx, dword [esp + 0x2e8]
mov eax, dword [esp + 0x18]
call fcn.00635d64
test byte [esp + 0x2dc], 0x40
jne case.0x5e8207.89
mov ecx, dword [esp + 0x2d0]
mov dl, byte [ebx + 2]
mov eax, dword [ecx + 0x24]
call fcn.0062fba0
mov esi, eax
mov eax, dword [esp + 0x2d0]
xor edx, edx
mov dword [eax + 0x18], edx
xor eax, eax
inc dword [esp + 0x30]
test esi, esi
mov ecx, dword [esp + 0x2d0]
mov dword [ecx + 0x1c], eax
jne 0x5f0895
test byte [esp + 0x2dc], 1
je case.0x5e8207.89
mov edx, dword [esp]
add dword [edx + 0x28], 1
adc dword [edx + 0x2c], 0
mov ecx, dword [esp + 8]
cmp dword [ecx + 0xf8], 0
je case.0x5e8207.89
cmp dword [esp + 0x2d8], 0
je case.0x5e8207.89
mov ecx, dword [esp + 0x2d8]
test byte [ecx + 0x1c], 0x80
jne case.0x5e8207.89
mov eax, dword [esp + 0x2d8]
mov edx, dword [eax]
push edx
mov ecx, dword [esp + 0x2d4]
push dword [ecx + 0x3c]
push dword [ecx + 0x38]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xf4]
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x2e0]
mov edx, 9
call dword [ebp + 0xf8]
jmp case.0x5e8207.89
mov eax, dword [esp]
push dword [eax + 0x2c]
push dword [eax + 0x28]
mov eax, dword [esp + 0x10]
call fcn.00635b98
mov ecx, dword [esp]
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 0
jmp case.0x5e8207.89
mov ecx, dword [esp]
mov edx, dword [ebx + 4]
mov eax, dword [ecx + 0x60]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x2e0], ecx
lea ecx, [esp + 0x2e4]
mov ebp, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
mov dword [esp + 0x2e8], eax
xor edx, edx
mov dword [esp + 0x2e4], edx
push ecx
mov ecx, dword [esp + 0x2ec]
mov eax, dword [esp + 0x2e4]
mov edx, ebp
call fcn.006383a0
mov esi, eax
test esi, esi
jne 0x5f0895
cmp dword [esp + 0x2e4], 0
jne 0x5e8637
jmp case.0x5e8207.89
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov esi, dword [ebx + 4]
mov eax, dword [ecx + esi*4]
mov dword [esp + 0x2ec], eax
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x2ec]
call fcn.00638350
mov esi, eax
test esi, esi
jne 0x5f0895
mov eax, dword [esp]
mov edx, dword [eax + 0x60]
mov ecx, dword [ebx + 0xc]
mov ecx, dword [edx + ecx*4]
xor eax, eax
mov dword [ecx + 0x18], eax
jmp case.0x5e8207.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov esi, dword [ebx + 4]
mov eax, dword [ecx + esi*4]
mov dword [esp + 0x2f0], eax
mov edx, dword [esp + 0x2f0]
mov ecx, dword [edx + 0x24]
mov dword [esp + 0x2f4], ecx
mov eax, dword [esp + 0x2f4]
call fcn.0062adec
mov dword [esp + 0x2f8], eax
mov edx, dword [esp + 8]
mov ecx, dword [edx + 0x78]
cmp ecx, dword [esp + 0x2f8]
jae 0x5ed725
jmp 0x5f0a22
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x2f8]
mov eax, dword [esp + 0x2f4]
call fcn.00648040
mov esi, eax
test esi, esi
jne 0x5f0895
cmp dword [ebx + 0xc], 0
jne case.0x5e8207.89
mov eax, dword [esp + 0x2c]
test byte [eax + 0x11], 0x40
je case.0x5e8207.89
mov eax, dword [esp + 0x2c]
call fcn.0064749c
test eax, eax
je case.0x5e8207.89
jmp 0x5f0a3e
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x2fc], edx
mov ecx, dword [esp + 0x2fc]
cmp byte [ecx + 2], 0
je 0x5ed7bb
mov ecx, dword [esp + 0x2c]
mov word [ecx + 0x10], 1
jmp case.0x5e8207.89
mov eax, dword [esp + 0x2fc]
cmp byte [eax + 3], 0
je 0x5ed7e8
mov edx, dword [esp + 0x2fc]
mov eax, dword [edx + 0x38]
mov dword [esp + 0x300], eax
mov eax, dword [edx + 0x3c]
mov dword [esp + 0x304], eax
jmp 0x5ed8a0
mov edx, dword [esp + 0x2fc]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 2
jne 0x5ed851
mov ecx, dword [esp + 0x2fc]
mov eax, dword [ecx + 0x24]
mov edx, dword [eax]
mov dword [esp + 0x308], edx
lea edx, [esp + 0x300]
mov ecx, dword [esp + 0x308]
mov eax, dword [ecx]
mov dword [esp + 0x30c], eax
mov eax, dword [esp + 0x2fc]
mov esi, dword [esp + 0x30c]
mov eax, dword [eax + 0x24]
call dword [esi + 0x30]
mov esi, eax
mov edx, dword [esp + 0x308]
mov eax, dword [esp]
call fcn.00635cec
test esi, esi
jne 0x5f0895
jmp 0x5ed8a0
mov eax, dword [esp + 0x2fc]
call fcn.0063468c
mov esi, eax
test esi, esi
jne 0x5f0895
mov eax, dword [esp + 0x2fc]
cmp byte [eax + 2], 0
je 0x5ed883
mov edx, dword [esp + 0x2c]
mov word [edx + 0x10], 1
jmp case.0x5e8207.89
mov ecx, dword [esp + 0x2fc]
mov eax, dword [ecx + 0x24]
call fcn.0062ad88
mov dword [esp + 0x300], eax
mov dword [esp + 0x304], edx
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x300]
mov dword [edx], ecx
mov ecx, dword [esp + 0x304]
mov dword [edx + 4], ecx
jmp case.0x5e8207.89
mov ecx, dword [esp]
mov eax, dword [ecx + 0x60]
mov edx, dword [ebx + 4]
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x310], ecx
cmp dword [esp + 0x310], 0
jne 0x5ed932
push 3
mov ecx, 1
mov edx, dword [ebx + 4]
mov eax, dword [esp + 4]
call fcn.005e7a98
mov dword [esp + 0x310], eax
cmp dword [esp + 0x310], 0
je 0x5f0a3e
mov ecx, dword [esp + 0x310]
xor eax, eax
mov dword [ecx + 0x1c], eax
mov edx, dword [esp + 0x310]
mov byte [edx + 4], 1
mov ecx, dword [esp + 0x310]
or byte [ecx + 5], 8
call fcn.006276e8
mov edx, dword [esp + 0x310]
mov dword [edx + 0x24], eax
mov eax, dword [esp + 0x310]
mov byte [eax + 2], 1
mov ecx, dword [esp + 0x310]
xor eax, eax
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x310]
cmp byte [edx], 0
jne case.0x5e8207.89
mov ecx, dword [esp + 0x310]
mov eax, dword [ecx + 0x24]
call fcn.006275c0
jmp case.0x5e8207.89
mov edx, dword [esp]
mov eax, dword [ebx + 4]
mov ecx, dword [edx + 0x60]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x314], edx
xor edx, edx
mov ecx, dword [esp + 0x314]
mov eax, dword [ecx + 0x24]
xor ecx, ecx
mov dword [esp + 0x318], eax
mov dword [esp + 0x31c], edx
mov cl, byte [ebx]
cmp ecx, 0x89
jne 0x5ed9c9
mov eax, dword [esp + 0x314]
mov dword [eax + 0x1c], 0xffffffff
mov eax, dword [esp + 0x318]
call fcn.0062ad7c
test eax, eax
je 0x5ed9c9
jmp case.0x5e8207.89
lea edx, [esp + 0x31c]
mov eax, dword [esp + 0x318]
call fcn.0062b650
mov edx, dword [esp + 0x314]
mov esi, eax
mov al, byte [esp + 0x31c]
mov byte [edx + 2], al
xor eax, eax
mov ecx, dword [esp + 0x314]
test esi, esi
mov byte [ecx + 3], 0
mov ecx, dword [esp + 0x314]
mov dword [ecx + 0x18], eax
jne 0x5f0895
cmp dword [ebx + 8], 0
jle case.0x5e8207.89
cmp dword [esp + 0x31c], 0
jne 0x5e8637
jmp case.0x5e8207.89
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x320], edx
mov ecx, dword [esp + 0x320]
mov eax, dword [ecx + 0x24]
mov dword [esp + 0x324], eax
lea edx, [esp + 0x328]
mov eax, dword [esp + 0x324]
call fcn.0062b5e4
mov esi, eax
test esi, esi
jne 0x5f0895
cmp dword [esp + 0x328], 0
je 0x5eda8e
mov dword [esp + 0x32c], 0xffffffff
mov dword [esp + 0x330], 0xffffffff
jmp 0x5edacd
mov eax, dword [esp + 0x324]
call fcn.0062bdb0
mov dword [esp + 0x32c], eax
mov dword [esp + 0x330], edx
push dword [esp + 0x330]
push dword [esp + 0x330]
call fcn.00646ef4
movsx eax, ax
cdq
mov dword [esp + 0x32c], eax
mov dword [esp + 0x330], edx
mov eax, dword [ebx + 0xc]
cdq
cmp edx, dword [esp + 0x330]
jne 0x5edae5
cmp eax, dword [esp + 0x32c]
ja 0x5edb01
jmp 0x5edae7
jg 0x5edb01
mov eax, dword [ebx + 0x10]
cdq
cmp edx, dword [esp + 0x330]
jne 0x5edaff
cmp eax, dword [esp + 0x32c]
jae 0x5edb05
jmp 0x5edb01
jge 0x5edb05
xor ecx, ecx
jmp 0x5edb0a
mov ecx, 1
mov dword [esp + 0x328], ecx
cmp dword [esp + 0x328], 0
jne 0x5e8637
jmp case.0x5e8207.89
mov ecx, dword [esp]
inc dword [ecx + 0xac]
mov eax, dword [esp]
mov edx, dword [eax + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [edx + eax*4]
mov dword [esp + 0x334], edx
mov dword [esp + 0x33c], 1
mov ecx, dword [esp + 0x334]
movzx ecx, byte [ecx]
dec ecx
jne 0x5edb6f
lea edx, [esp + 0x33c]
mov eax, dword [esp + 0x334]
call fcn.00638234
mov esi, eax
jmp 0x5edbac
mov eax, dword [esp + 0x334]
mov edx, dword [eax + 0x24]
mov dword [esp + 0x338], edx
lea edx, [esp + 0x33c]
mov eax, dword [esp + 0x338]
call fcn.0062b5e4
mov esi, eax
mov eax, dword [esp + 0x334]
mov byte [eax + 3], 0
mov edx, dword [esp + 0x334]
xor ecx, ecx
mov dword [edx + 0x18], ecx
test esi, esi
jne 0x5f0895
mov cl, byte [esp + 0x33c]
mov eax, dword [esp + 0x334]
mov byte [eax + 2], cl
cmp dword [ebx + 8], 0
jle case.0x5e8207.89
cmp dword [esp + 0x33c], 0
jne 0x5e8637
jmp case.0x5e8207.89
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x340], edx
mov edx, dword [esp + 0x340]
mov eax, dword [esp + 8]
call fcn.00638290
mov esi, eax
jmp 0x5edc59
mov eax, dword [esp]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + 0x60]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x340], ecx
mov eax, dword [esp + 0x340]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax + 0x24]
call fcn.0062c058
mov esi, eax
jmp 0x5edc59
mov eax, dword [esp]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + 0x60]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x340], ecx
mov eax, dword [esp + 0x340]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax + 0x24]
call fcn.0062bf24
mov esi, eax
mov eax, dword [esp + 0x340]
xor edx, edx
mov dword [eax + 0x18], edx
test esi, esi
jne 0x5edc87
mov ecx, dword [esp + 0x340]
mov byte [ecx + 2], 0
movzx ecx, word [ebx + 2]
mov eax, dword [esp]
inc dword [eax + ecx*4 + 0xa4]
jmp case.0x5e8207.9
cmp esi, 0x65
jne 0x5f0895
xor esi, esi
mov eax, dword [esp + 0x340]
mov byte [eax + 2], 1
jmp 0x5e8504
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov esi, dword [ebx + 4]
mov eax, dword [ecx + esi*4]
mov dword [esp + 0x344], eax
mov ebp, dword [ebx + 8]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
test byte [ebx + 2], 1
je 0x5edcd4
mov eax, dword [esp]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
test byte [ebp + 0x11], 4
je 0x5edce5
mov eax, ebp
call fcn.006474f0
mov esi, eax
jmp 0x5edce7
xor esi, esi
test esi, esi
jne 0x5f0895
mov eax, dword [ebp + 0xc]
cdq
mov dword [esp + 0x618], eax
mov dword [esp + 0x61c], edx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x610], ecx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x624], ecx
mov ax, word [ebx + 0x10]
mov word [esp + 0x628], ax
test byte [ebx + 2], 0x10
je 0x5edd3d
mov edx, dword [esp + 0x344]
mov ecx, dword [edx + 0x1c]
jmp 0x5edd3f
xor ecx, ecx
push ecx
lea edx, [esp + 0x614]
movzx ecx, word [ebx + 2]
mov eax, dword [esp + 0x348]
and ecx, 0x8a
mov eax, dword [eax + 0x24]
call fcn.0062f3c8
mov esi, eax
mov eax, dword [esp + 0x344]
xor edx, edx
test esi, esi
mov dword [eax + 0x18], edx
jne 0x5f0895
jmp case.0x5e8207.89
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x348], edx
mov ebp, dword [ebx + 8]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
test byte [ebp + 0x11], 4
je 0x5eddad
mov eax, ebp
call fcn.006474f0
mov esi, eax
jmp 0x5eddaf
xor esi, esi
test esi, esi
jne 0x5f0895
mov edx, ebp
mov eax, dword [esp + 0x348]
call fcn.006375b4
mov esi, eax
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov eax, dword [esp]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + 0x60]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x34c], ecx
mov eax, dword [esp + 0x34c]
mov edx, dword [eax + 0x24]
mov dword [esp + 0x350], edx
mov ecx, dword [esp + 0x34c]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x638], eax
mov dx, word [ebx + 0xc]
mov word [esp + 0x64c], dx
lea edx, [esp + 0x638]
mov byte [esp + 0x64e], 0
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x63c], ecx
lea ecx, [esp + 0x354]
mov eax, dword [esp + 0x350]
call fcn.0062b9c0
mov esi, eax
test esi, esi
jne 0x5f0895
cmp dword [esp + 0x354], 0
jne 0x5ede79
mov dl, 4
mov eax, dword [esp + 0x350]
call fcn.0062fba0
mov esi, eax
test esi, esi
jne 0x5f0895
jmp 0x5edea8
cmp word [ebx + 2], 0
je 0x5edea8
mov eax, dword [esp + 8]
call fcn.005ce460
test eax, eax
jne 0x5edea8
mov ecx, str.index_corruption
mov edx, 0x1991
mov eax, 0x30b
call fcn.006006a8
mov esi, eax
jmp 0x5f0895
mov eax, dword [esp + 0x34c]
xor edx, edx
mov dword [eax + 0x18], edx
mov ecx, dword [esp + 0x34c]
xor eax, eax
mov dword [ecx + 0x1c], eax
jmp case.0x5e8207.89
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov esi, dword [ebx + 4]
mov eax, dword [ecx + esi*4]
mov dword [esp + 0x358], eax
mov eax, dword [esp + 0x358]
call fcn.0063468c
mov esi, eax
test esi, esi
jne 0x5f0895
mov eax, dword [esp + 0x358]
cmp byte [eax + 2], 0
jne 0x5edfe2
mov dword [esp + 0x360], 0
mov dword [esp + 0x364], 0
lea ecx, [esp + 0x360]
mov edx, dword [esp + 0x358]
mov edx, dword [edx + 0x24]
mov eax, dword [esp + 8]
call fcn.006359d0
mov esi, eax
test esi, esi
je 0x5edf3a
jmp 0x5f0895
xor eax, eax
mov al, byte [ebx]
cmp eax, 0x8d
jne 0x5edfb8
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 0xc]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x35c], edx
mov ecx, dword [esp + 0x35c]
mov byte [ecx + 2], 0
mov ecx, dword [esp + 0x35c]
mov eax, dword [esp + 0x360]
mov dword [ecx + 0x38], eax
mov eax, dword [esp + 0x364]
mov dword [ecx + 0x3c], eax
mov edx, dword [esp + 0x35c]
mov byte [edx + 3], 1
mov ecx, dword [esp + 0x35c]
xor eax, eax
mov dword [ecx + 0x18], eax
mov edx, dword [esp + 0x35c]
mov eax, dword [ebx + 0x10]
mov dword [edx + 8], eax
mov edx, dword [esp + 0x35c]
mov ecx, dword [esp + 0x358]
mov dword [edx + 0x20], ecx
jmp case.0x5e8207.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x360]
mov dword [ecx], eax
mov eax, dword [esp + 0x364]
mov dword [ecx + 4], eax
jmp case.0x5e8207.89
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.00647b38
jmp case.0x5e8207.89
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x368], edx
mov ecx, dword [esp + 0x368]
cmp byte [ecx + 3], 0
je case.0x5e8207.89
mov eax, dword [esp + 0x368]
call fcn.0063462c
mov esi, eax
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov eax, dword [esp]
mov edx, dword [eax + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x36c], ecx
mov eax, dword [esp + 0x36c]
mov edx, dword [eax + 0x28]
mov dword [esp + 0x658], edx
mov cx, word [ebx + 0x10]
mov word [esp + 0x66c], cx
xor eax, eax
mov al, byte [ebx]
cmp eax, 0x2a
jge 0x5ee07b
mov byte [esp + 0x66e], 0xff
jmp 0x5ee083
mov byte [esp + 0x66e], 0
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x65c], edx
mov dword [esp + 0x374], 0
mov dword [esp + 0x378], 0
mov ecx, dword [esp + 0x36c]
mov eax, dword [ecx + 0x24]
mov dword [esp + 0x37c], eax
mov eax, dword [esp + 0x37c]
call fcn.0062adec
xor edx, edx
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edx
cmp dword [esp + 0x378], 0
jne 0x5ee0f0
cmp dword [esp + 0x374], 0
jbe 0x5ee10d
jmp 0x5ee0f2
jle 0x5ee10d
cmp dword [esp + 0x378], 0
jne 0x5ee10b
cmp dword [esp + 0x374], 0x7fffffff
jbe 0x5ee11e
jmp 0x5ee10d
jle 0x5ee11e
mov eax, 0x1a5e
call fcn.006006d0
mov esi, eax
jmp 0x5f0895
lea eax, [esp + 0x678]
xor ecx, ecx
mov edx, dword [esp + 8]
call fcn.00647b28
mov eax, dword [esp + 0x374]
mov edx, eax
lea ecx, [esp + 0x678]
mov eax, dword [esp + 0x37c]
call fcn.00648040
mov esi, eax
test esi, esi
jne 0x5f0895
push 0
lea ecx, [esp + 0x65c]
mov edx, dword [esp + 0x684]
mov eax, dword [esp + 0x688]
call fcn.006350e8
mov dword [esp + 0x370], eax
lea eax, [esp + 0x678]
call fcn.006476ec
test byte [ebx], 1
jne 0x5ee193
neg dword [esp + 0x370]
jmp 0x5ee19a
inc dword [esp + 0x370]
cmp dword [esp + 0x370], 0
jg 0x5e8637
jmp case.0x5e8207.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x2c]
mov word [edx + 0x10], 1
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
mov edx, dword [eax + 0xc8]
mov ecx, dword [ecx + 0xbc]
inc edx
cmp ecx, edx
jle 0x5ee1f7
mov esi, 6
mov eax, dword [esp]
mov byte [eax + 0x94], 2
jmp 0x5f0895
mov edx, dword [ebx + 0xc]
xor ecx, ecx
mov dword [esp + 0x384], edx
mov dword [esp + 0x380], ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x384]
shl ecx, 4
mov edx, dword [eax + 0x10]
mov eax, dword [edx + ecx + 4]
lea ecx, [esp + 0x380]
mov edx, dword [ebx + 4]
call fcn.00630678
mov esi, eax
mov eax, dword [esp + 0x2c]
test esi, esi
mov word [eax + 0x10], 4
mov eax, dword [esp + 0x380]
mov ecx, dword [esp + 0x2c]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jne 0x5f0895
cmp dword [esp + 0x380], 0
je case.0x5e8207.89
mov ecx, dword [ebx + 4]
push ecx
mov ecx, dword [esp + 0x384]
mov edx, dword [esp + 0x388]
mov eax, dword [esp + 0xc]
call fcn.005d0a28
mov cl, byte [esp + 0x384]
inc ecx
mov byte [esp + 0xc], cl
jmp case.0x5e8207.89
mov dword [esp + 0x388], 0
mov dword [esp + 0x38c], 0
mov edx, dword [esp + 8]
mov eax, dword [ebx + 8]
shl eax, 4
lea ecx, [esp + 0x388]
mov edx, dword [edx + 0x10]
mov eax, dword [edx + eax + 4]
mov edx, dword [ebx + 4]
call fcn.00630434
cmp dword [ebx + 0xc], 0
mov esi, eax
je 0x5ee308
mov ecx, dword [esp]
mov edx, dword [esp + 0x38c]
mov eax, dword [esp + 0x388]
add dword [ecx + 0x28], eax
adc dword [ecx + 0x2c], edx
cmp dword [ebx + 0xc], 0
jle 0x5ee308
mov ecx, dword [ebx + 0xc]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x38c]
mov eax, dword [esp + 0x388]
lea ecx, [ecx + ecx*4]
add dword [ebp + ecx*8], eax
adc dword [ebp + ecx*8 + 4], edx
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov eax, dword [esp]
mov edx, dword [eax + 0x60]
mov ecx, dword [ebx + 4]
mov ecx, dword [edx + ecx*4]
mov dword [esp + 0x390], ecx
mov eax, dword [esp + 0x390]
xor edx, edx
mov dl, byte [eax]
dec edx
jne 0x5ee34e
mov ecx, dword [esp + 0x390]
mov eax, dword [esp + 8]
mov edx, dword [ecx + 0x24]
call fcn.00636cf4
jmp case.0x5e8207.89
mov ecx, dword [esp + 0x390]
mov eax, dword [ecx + 0x24]
call fcn.00630494
mov esi, eax
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
xor ecx, ecx
mov dword [esp + 0x394], ecx
mov ecx, dword [esp + 8]
mov edx, dword [ebx + 4]
shl edx, 4
mov eax, dword [ecx + 0x10]
add eax, edx
lea edx, [esp + 0x394]
mov dword [esp + 0x398], eax
mov eax, dword [esp + 0x398]
mov ecx, dword [ebx + 0xc]
mov eax, dword [eax + 4]
call fcn.00630228
mov esi, eax
test esi, esi
jne 0x5f0895
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x394]
xor edx, edx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5e8207.89
mov ecx, dword [esp + 8]
xor eax, eax
inc byte [ecx + 0x60]
mov dword [esp + 0x39c], eax
mov edx, dword [esp + 8]
mov ecx, dword [edx + 0x174]
mov dword [esp + 0x3a0], ecx
mov eax, dword [esp + 8]
mov dl, byte [eax + 0x5e]
mov byte [esp + 0x3a4], dl
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x1f8]
mov dword [esp + 0x3a8], eax
test byte [ebx + 4], 1
je 0x5ee42d
mov edx, dword [esp + 8]
xor eax, eax
mov dword [edx + 0x174], eax
mov edx, dword [esp + 8]
mov byte [edx + 0x5e], 0
test byte [ebx + 4], 2
je 0x5ee440
mov ecx, dword [esp + 8]
mov esi, dword [ebx + 8]
mov dword [ecx + 0x1f8], esi
push 0
lea eax, [esp + 0x3a0]
push eax
xor ecx, ecx
mov edx, dword [ebx + 0x10]
mov eax, dword [esp + 0x10]
call fcn.00609754
mov esi, eax
mov eax, dword [esp + 8]
dec byte [eax + 0x60]
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x3a0]
mov dword [edx + 0x174], ecx
mov ecx, dword [esp + 8]
mov al, byte [esp + 0x3a4]
mov byte [ecx + 0x5e], al
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x3a8]
mov dword [edx + 0x1f8], eax
cmp dword [esp + 0x39c], 0
jne 0x5ee4a3
test esi, esi
je case.0x5e8207.89
mov edx, dword [esp + 0x39c]
push edx
push 0x67a0af
mov ecx, dword [esp + 8]
push ecx
call fcn.00631c34
add esp, 0xc
mov eax, dword [esp + 0x39c]
call fcn.0064ca48
cmp esi, 7
je 0x5f0a3e
jmp 0x5f0895
mov edx, dword [ebx + 4]
mov dword [esp + 0x3ac], edx
cmp dword [ebx + 0x10], 0
jne 0x5ee543
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x3ac]
shl ecx, 4
mov eax, dword [esi + 0x10]
mov eax, dword [eax + ecx + 0xc]
call fcn.005d66a0
mov edx, dword [esp + 8]
and dword [edx + 0x18], 0xffffffef
movzx ecx, word [ebx + 2]
push ecx
mov ecx, dword [esp + 4]
add ecx, 0x7c
mov edx, dword [esp + 0x3b0]
mov eax, dword [esp + 0xc]
call fcn.005cc9d8
mov esi, eax
mov eax, dword [esp + 8]
or dword [eax + 0x18], 1
mov edx, dword [esp]
and byte [edx + 0x98], 0xfc
jmp 0x5ee667
mov dword [esp + 0x3b0], 0x67a25a
mov ecx, dword [esp + 8]
xor edx, edx
mov dword [esp + 0x6a0], ecx
mov ecx, dword [esp + 0x3ac]
mov dword [esp + 0x6a8], ecx
mov eax, dword [esp]
add eax, 0x7c
mov dword [esp + 0x6a4], eax
mov dword [esp + 0x6b0], edx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x3ac]
shl ecx, 4
mov edx, dword [eax + 0x10]
mov eax, dword [edx + ecx + 4]
call fcn.00628ea0
mov dword [esp + 0x6b8], eax
mov edx, dword [ebx + 0x10]
push edx
mov ecx, dword [esp + 0x3b4]
push ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x3b4]
shl ecx, 4
mov edx, dword [eax + 0x10]
mov ecx, dword [edx + ecx]
push ecx
push str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov eax, dword [esp + 0x18]
push eax
call fcn.00644ba0
add esp, 0x14
mov dword [esp + 0x3b4], eax
cmp dword [esp + 0x3b4], 0
jne 0x5ee5e9
mov esi, 7
jmp 0x5ee667
mov eax, dword [esp + 8]
xor edx, edx
xor ecx, ecx
mov byte [eax + 0xb1], 1
mov dword [esp + 0x6ac], edx
mov dword [esp + 0x6b4], ecx
lea ecx, [esp + 0x6a0]
push ecx
push 0
mov edx, dword [esp + 0x3bc]
mov eax, dword [esp + 0x10]
mov ecx, fcn.005cc7e0
call fcn.00609754
mov esi, eax
test esi, esi
jne 0x5ee632
mov esi, dword [esp + 0x6ac]
test esi, esi
jne 0x5ee64c
cmp dword [esp + 0x6b4], 0
jne 0x5ee64c
mov eax, 0x1b83
call fcn.006006d0
mov esi, eax
mov edx, dword [esp + 0x3b4]
mov eax, dword [esp + 8]
call fcn.0064cabc
mov ecx, dword [esp + 8]
mov byte [ecx + 0xb1], 0
test esi, esi
je case.0x5e8207.89
mov eax, dword [esp + 8]
call fcn.005cdfd0
cmp esi, 7
jne 0x5f0895
jmp 0x5f0a3e
mov edx, dword [ebx + 4]
mov eax, dword [esp + 8]
call fcn.0060bbd4
mov esi, eax
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 8]
call fcn.005ce2dc
jmp case.0x5e8207.89
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 8]
call fcn.005cde80
jmp case.0x5e8207.89
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 8]
call fcn.005f3034
jmp case.0x5e8207.89
mov ecx, dword [ebx + 8]
mov dword [esp + 0x3b8], ecx
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x3bc], eax
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x3c8], edx
mov ecx, dword [ebx + 4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
add ecx, 0x28
mov dword [esp + 0x28], ecx
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
push eax
mov edx, dword [esp + 0x3bc]
push edx
mov ecx, dword [esp + 0x3d0]
mov eax, dword [ecx]
inc eax
push eax
lea edx, [esp + 0x3cc]
push edx
lea ecx, [esp + 0x3d4]
push ecx
movzx ecx, word [ebx + 2]
shl ecx, 4
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0x10]
mov edx, dword [edx + ecx + 4]
mov ecx, dword [esp + 0x3d0]
add ecx, 4
mov eax, dword [esp + 0x1c]
call fcn.00631260
mov esi, eax
mov eax, dword [esp + 0x28]
call fcn.00647b38
cmp dword [esp + 0x3c0], 0
jne 0x5ee790
jmp 0x5ee7d7
test esi, esi
je 0x5ee7a7
mov eax, dword [esp + 0x3c4]
call fcn.0064ca48
jmp 0x5f0895
mov ecx, dword [esp + 0x3c8]
mov eax, dword [esp + 0x3c0]
dec eax
sub dword [ecx], eax
cdq
sbb dword [ecx + 4], edx
push 0xffffffffffffffff
push 0xffffffffffffffff
push fcn.0064ca48
mov edx, dword [esp + 0x3d0]
mov eax, dword [esp + 0x34]
mov cl, 1
call fcn.00647da4
xor edx, edx
mov eax, dword [esp + 0x28]
mov dl, byte [esp + 0xd]
call fcn.0064729c
jmp 0x5e8504
mov ecx, dword [ebx + 4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov ebp, dword [ebx + 8]
mov eax, dword [esp + 0x28]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
test byte [eax + 0x10], 0x10
jne 0x5ee825
mov eax, dword [esp + 0x28]
call fcn.00647c70
test eax, eax
jne 0x5f0a3e
push dword [ebp + 4]
push dword [ebp]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 8]
call fcn.00648dc4
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x10], 0x10
je 0x5ee86e
lea edx, [esp + 0x3cc]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 8]
call fcn.00648fdc
test eax, eax
jne 0x5ee881
mov eax, dword [esp + 0x28]
call fcn.00647b38
jmp case.0x5e8207.9
push dword [esp + 0x3d0]
push dword [esp + 0x3d0]
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x2c]
call fcn.00647ba4
jmp 0x5e8504
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ebp, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
mov dword [esp + 0x3d4], eax
mov edx, dword [esp + 0x28]
test byte [edx + 0x10], 0x10
jne 0x5ee8ea
mov eax, dword [esp + 0x28]
call fcn.00647c70
test eax, eax
jne 0x5f0a3e
cmp dword [esp + 0x3d4], 0
je 0x5ee922
push dword [ebp + 4]
push dword [ebp]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x3dc]
mov eax, dword [ecx + 8]
call fcn.00649034
mov dword [esp + 0x3d8], eax
cmp dword [esp + 0x3d8], 0
jne 0x5e8637
cmp dword [esp + 0x3d4], 0
jl case.0x5e8207.89
push dword [ebp + 4]
push dword [ebp]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 8]
call fcn.00648dc4
jmp case.0x5e8207.89
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x3f4], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x3e4], ecx
cmp word [ebx + 2], 0
je 0x5ee9cb
mov eax, dword [esp + 0x3f4]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x3f8], edx
mov ecx, dword [esp]
mov eax, dword [ecx + 0xd8]
mov dword [esp + 0x3f0], eax
jmp 0x5ee9a0
mov edx, dword [esp + 0x3f0]
mov ecx, dword [edx + 4]
mov dword [esp + 0x3f0], ecx
cmp dword [esp + 0x3f0], 0
je 0x5ee9bd
mov eax, dword [esp + 0x3f0]
mov edx, dword [eax + 0x18]
cmp edx, dword [esp + 0x3f8]
jne 0x5ee98f
cmp dword [esp + 0x3f0], 0
jne case.0x5e8207.89
mov ecx, dword [esp]
mov edx, dword [esp + 8]
mov eax, dword [ecx + 0xe0]
cmp eax, dword [edx + 0xa0]
jl 0x5ee9fc
mov esi, 1
push str.too_many_levels_of_trigger_recursion
mov eax, dword [esp + 4]
push eax
call fcn.00631c34
add esp, 8
jmp 0x5f0895
mov edx, dword [esp + 0x3e4]
test byte [edx + 0x10], 0x10
jne 0x5eec21
mov ecx, dword [esp + 0x3f4]
mov eax, dword [esp + 0x3f4]
mov ecx, dword [ecx + 8]
add ecx, dword [eax + 0xc]
mov dword [esp + 0x3dc], ecx
mov edx, dword [esp + 0x3f4]
cmp dword [edx + 0xc], 0
jne 0x5eea3c
inc dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3dc]
mov eax, dword [esp + 0x3f4]
shl ecx, 3
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x3f4]
shl edx, 2
lea ecx, [ecx + ecx*4]
add ecx, edx
mov edx, dword [eax + 4]
add edx, 7
test edx, edx
jns 0x5eea6c
add edx, 7
sar edx, 3
add ecx, edx
add ecx, 0x58
mov dword [esp + 0x3e0], ecx
mov eax, dword [esp + 0x3e0]
cdq
push edx
push eax
mov eax, dword [esp + 0x10]
call fcn.0064cd98
mov dword [esp + 0x3f0], eax
cmp dword [esp + 0x3f0], 0
jne 0x5eeaa4
jmp 0x5f0a3e
mov eax, dword [esp + 0x3e4]
call fcn.006476d8
mov edx, dword [esp + 0x3e4]
mov word [edx + 0x10], 0x1010
mov ecx, dword [esp + 0x3e4]
mov eax, dword [esp + 0x3f0]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x3e4]
mov ecx, dword [esp + 0x3e0]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [ecx + 0x24], 0x633048
mov eax, dword [esp + 0x3f0]
mov edx, dword [esp]
mov dword [eax], edx
mov ecx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x3dc]
mov dword [ecx + 0x3c], eax
mov edx, dword [esp + 0x3f4]
mov eax, dword [esp + 0x3f0]
mov ecx, dword [edx + 0xc]
mov dword [eax + 0x40], ecx
mov eax, ebx
sub eax, dword [esp + 4]
mov ecx, 0x28
cdq
idiv ecx
mov edx, dword [esp + 0x3f0]
mov dword [edx + 0x30], eax
mov eax, dword [esp]
mov ebx, dword [esp + 0x3f0]
mov ecx, dword [eax + 0x58]
mov dword [ebx + 0xc], ecx
mov eax, dword [esp]
mov ecx, dword [esp + 0x3f0]
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x38], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x3f0]
mov edx, dword [eax + 0x60]
mov dword [ecx + 0x10], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x3f0]
mov edx, dword [eax + 0x18]
mov dword [ecx + 0x2c], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x3f0]
mov edx, dword [eax + 0x68]
mov dword [ecx + 8], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x3f0]
mov edx, dword [eax + 0x6c]
mov dword [ecx + 0x34], edx
mov eax, dword [esp + 0x3f4]
mov ecx, dword [esp + 0x3f0]
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x18], edx
mov eax, dword [esp + 0x3f0]
mov edx, dword [eax + 0x3c]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x3f0]
add edx, 0x58
mov dword [esp + 0x3ec], edx
mov ecx, dword [esp + 0x3f0]
add ecx, 0x58
mov dword [esp + 0x3e8], ecx
mov eax, dword [esp + 0x3e8]
cmp eax, dword [esp + 0x3ec]
je 0x5eec32
mov edx, dword [esp + 0x3e8]
mov word [edx + 0x10], 0
mov ecx, dword [esp + 0x3e8]
mov ebx, dword [esp + 8]
mov dword [ecx + 0x14], ebx
add dword [esp + 0x3e8], 0x28
mov eax, dword [esp + 0x3e8]
cmp eax, dword [esp + 0x3ec]
jne 0x5eebec
jmp 0x5eec32
mov edx, dword [esp + 0x3e4]
mov ecx, dword [edx + 8]
mov dword [esp + 0x3f0], ecx
mov eax, dword [esp]
inc dword [eax + 0xe0]
mov edx, dword [esp]
mov ebx, dword [esp + 0x3f0]
mov ecx, dword [edx + 0xd8]
mov dword [ebx + 4], ecx
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x3f0]
mov ecx, dword [edx + 0x28]
mov dword [eax + 0x20], ecx
mov ecx, dword [edx + 0x2c]
mov dword [eax + 0x24], ecx
mov edx, dword [esp]
mov eax, dword [esp + 0x3f0]
mov ecx, dword [edx + 0x28]
mov dword [eax + 0x48], ecx
mov ecx, dword [edx + 0x2c]
mov dword [eax + 0x4c], ecx
mov edx, dword [esp]
mov eax, dword [esp + 0x3f0]
mov ecx, dword [edx]
mov edx, dword [ecx + 0x68]
mov dword [eax + 0x50], edx
mov edx, dword [ecx + 0x6c]
mov dword [eax + 0x54], edx
xor edx, edx
mov eax, dword [esp]
mov ebx, dword [esp + 0x3f0]
mov ecx, dword [eax + 0xec]
mov dword [ebx + 0x28], ecx
mov eax, dword [esp]
mov dword [eax + 0xec], edx
mov ecx, dword [esp]
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 0
mov eax, dword [esp]
mov edx, dword [esp + 0x3f0]
mov dword [eax + 0xd8], edx
mov ecx, dword [esp + 0x3f0]
add ecx, 0x58
mov dword [esp + 0x24], ecx
mov eax, dword [esp]
mov dword [eax + 0x58], ecx
mov edx, dword [esp + 0x3f0]
mov eax, dword [edx + 0x3c]
mov edx, dword [esp]
mov dword [edx + 0x14], eax
mov ecx, dword [esp + 0x3f0]
mov edx, dword [esp]
movzx eax, word [ecx + 0x40]
mov dword [edx + 0x18], eax
mov ecx, dword [esp]
mov edx, dword [esp]
mov eax, dword [ecx + 0x14]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [edx + 0x60], eax
mov ecx, dword [esp]
mov edx, dword [esp + 0x3f4]
mov eax, dword [ecx + 0x60]
mov ecx, dword [edx + 0xc]
shl ecx, 2
mov edx, dword [esp + 0x3f0]
add eax, ecx
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x3f4]
mov ecx, dword [eax + 4]
add ecx, 7
test ecx, ecx
jns 0x5eed50
add ecx, 7
mov ebx, dword [esp + 0x3f0]
sar ecx, 3
xor edx, edx
mov eax, dword [ebx + 0x14]
call fcn.005c83cc
mov ecx, dword [esp + 0x3f4]
mov eax, dword [ecx]
mov dword [esp + 4], eax
mov edx, dword [esp]
mov dword [edx + 0x68], eax
mov ecx, dword [esp + 0x3f4]
mov edx, dword [esp]
mov eax, dword [ecx + 4]
mov dword [edx + 0x6c], eax
mov ebx, dword [esp + 4]
add ebx, 0xffffffd8
jmp 0x5e8504
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov ecx, dword [esp]
mov ecx, dword [ecx + 0xd8]
mov dword [esp + 0x3fc], ecx
mov eax, dword [esp + 0x3fc]
mov edx, dword [eax + 0x30]
mov eax, dword [esp + 0x3fc]
mov ecx, dword [eax + 8]
lea edx, [edx + edx*4]
mov eax, dword [esp + 0x3fc]
mov edx, dword [ecx + edx*8 + 4]
add edx, dword [ebx + 4]
mov ecx, edx
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [eax + 0xc]
mov dword [esp + 0x400], ecx
mov ecx, 0x4000
mov edx, dword [esp + 0x400]
mov eax, dword [esp + 0x2c]
call fcn.00647cec
jmp case.0x5e8207.89
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
and eax, 0x80000
xor edx, edx
cmp edx, 0
jne 0x5eee1c
cmp eax, 0
je 0x5eee37
mov ecx, dword [esp + 8]
mov eax, dword [ebx + 8]
cdq
add dword [ecx + 0x210], eax
adc dword [ecx + 0x214], edx
jmp case.0x5e8207.89
cmp dword [ebx + 4], 0
je 0x5eee56
mov ecx, dword [esp + 8]
mov eax, dword [ebx + 8]
cdq
add dword [ecx + 0x208], eax
adc dword [ecx + 0x20c], edx
jmp case.0x5e8207.89
mov ecx, dword [esp]
mov eax, dword [ebx + 8]
cdq
add dword [ecx + 0x40], eax
adc dword [ecx + 0x44], edx
jmp case.0x5e8207.89
cmp dword [ebx + 4], 0
je 0x5eeeaf
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x20c], 0
jne case.0x5e8207.89
cmp dword [ecx + 0x208], 0
jne case.0x5e8207.89
mov eax, dword [esp + 8]
cmp dword [eax + 0x214], 0
jne case.0x5e8207.89
cmp dword [eax + 0x210], 0
je 0x5e8637
jmp case.0x5e8207.89
mov edx, dword [esp]
cmp dword [edx + 0x44], 0
jne case.0x5e8207.89
cmp dword [edx + 0x40], 0
jne case.0x5e8207.89
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x214], 0
jne case.0x5e8207.89
cmp dword [ecx + 0x210], 0
je 0x5e8637
jmp case.0x5e8207.89
mov eax, dword [esp]
cmp dword [eax + 0xd8], 0
je 0x5eef40
mov edx, dword [esp]
mov ecx, dword [edx + 0xd8]
mov dword [esp + 0x404], ecx
jmp 0x5eef18
mov eax, dword [esp + 0x404]
mov edx, dword [eax + 4]
mov dword [esp + 0x404], edx
mov ecx, dword [esp + 0x404]
cmp dword [ecx + 4], 0
jne 0x5eef07
mov eax, dword [esp + 0x404]
mov edx, dword [eax + 0xc]
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add edx, eax
mov dword [esp + 0x28], edx
jmp 0x5eef51
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x28]
call fcn.006478bc
mov ebp, dword [ebx + 8]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
mov eax, ebp
call fcn.006478bc
mov edx, dword [esp + 0x28]
mov eax, dword [edx]
mov edx, dword [edx + 4]
push edx
push eax
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
cmp edx, dword [esp + 4]
jne 0x5eef93
cmp eax, dword [esp]
pop edx
pop eax
jbe case.0x5e8207.89
jmp 0x5eef9b
pop edx
pop eax
jle case.0x5e8207.89
mov ecx, dword [esp + 0x28]
mov eax, dword [ebp]
mov dword [ecx], eax
mov eax, dword [ebp + 4]
mov dword [ecx + 4], eax
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 4], 0
jne 0x5eefd5
cmp dword [ecx], 0
jbe case.0x5e8207.89
jmp 0x5eefdb
jle case.0x5e8207.89
mov ecx, dword [esp + 0x28]
mov eax, dword [ebx + 0xc]
cdq
sub dword [ecx], eax
sbb dword [ecx + 4], edx
jmp 0x5e8637
mov ecx, dword [ebx + 4]
mov edx, ebx
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov ebp, dword [ebx + 0xc]
mov eax, dword [esp]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [esp + 0x408], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x40c], eax
cmp dword [esp + 0x40c], 0
jne 0x5ef04c
cmp dword [esp + 0x408], 0
jbe 0x5ef07c
jmp 0x5ef04e
jle 0x5ef07c
cmp dword [ebp + 4], 0
jne 0x5ef05c
cmp dword [ebp], 0
jbe 0x5ef066
jmp 0x5ef05e
jle 0x5ef066
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
jmp 0x5ef06a
xor eax, eax
xor edx, edx
push edx
push eax
lea eax, [esp + 0x410]
call fcn.00646bd8
test eax, eax
je 0x5ef092
mov edx, dword [esp + 0x2c]
mov dword [edx], 0xffffffff
mov dword [edx + 4], 0xffffffff
jmp case.0x5e8207.89
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x408]
mov dword [ecx], eax
mov eax, dword [esp + 0x40c]
mov dword [ecx + 4], eax
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 4], 0
jne 0x5ef0d2
cmp dword [ecx], 0
je case.0x5e8207.89
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 4], 0
jne 0x5ef0e7
cmp dword [ecx], 0
jbe 0x5e8637
jmp 0x5ef0ed
jle 0x5e8637
mov eax, dword [esp + 0x28]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x5e8637
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 4], 0x80000000
jne 0x5ef127
cmp dword [ecx], 0
jbe 0x5ef134
jmp 0x5ef129
jle 0x5ef134
mov eax, dword [esp + 0x28]
sub dword [eax], 1
sbb dword [eax + 4], 0
mov edx, dword [esp + 0x28]
cmp dword [edx + 4], 0
jne case.0x5e8207.89
cmp dword [edx], 0
je 0x5e8637
jmp case.0x5e8207.89
movzx ecx, word [ebx + 2]
mov dword [esp + 0x410], ecx
mov eax, dword [esp + 0x410]
shl eax, 2
add eax, 0x44
xor edx, edx
push edx
push eax
mov eax, dword [esp + 0x10]
call fcn.0064ce10
mov dword [esp + 0x414], eax
cmp dword [esp + 0x414], 0
je 0x5f0a3e
mov edx, dword [esp + 0x414]
xor ecx, ecx
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x410]
mov eax, dword [esp + 0x414]
shl ecx, 2
add ecx, dword [esp + 0x414]
add ecx, 0x1c
mov dword [eax], ecx
mov cx, 1
mov edx, dword [esp + 0x414]
mov eax, dword [edx]
mov edx, dword [esp + 8]
call fcn.00647b28
mov ecx, dword [esp + 0x414]
mov eax, dword [ebx + 0x10]
mov dword [ecx + 4], eax
mov eax, ebx
sub eax, dword [esp + 4]
mov ecx, 0x28
cdq
idiv ecx
mov edx, dword [esp + 0x414]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x414]
mov ecx, dword [esp]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x414]
mov byte [ecx + 0x19], 0
mov eax, dword [esp + 0x414]
xor edx, edx
mov dword [eax + 0x14], edx
mov ecx, dword [esp + 0x414]
mov al, byte [esp + 0xd]
mov byte [ecx + 0x18], al
mov dl, byte [esp + 0x410]
mov eax, dword [esp + 0x414]
mov byte [eax + 0x1a], dl
mov byte [ebx + 1], 0xf1
mov edx, dword [esp + 0x414]
mov dword [ebx + 0x10], edx
mov byte [ebx], 0xa3
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x41c], ecx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x420], ecx
mov eax, dword [esp + 0x41c]
mov edx, dword [eax + 8]
cmp edx, dword [esp + 0x420]
je 0x5ef2d9
mov ecx, dword [esp + 0x41c]
mov eax, dword [esp + 0x420]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x41c]
xor ecx, ecx
mov cl, byte [edx + 0x1a]
dec ecx
mov dword [esp + 0x418], ecx
cmp dword [esp + 0x418], 0
jl 0x5ef2d9
mov ecx, dword [ebx + 8]
mov eax, dword [esp + 0x41c]
add ecx, dword [esp + 0x418]
mov edx, dword [esp + 0x418]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [eax + edx*4 + 0x1c], ecx
dec dword [esp + 0x418]
cmp dword [esp + 0x418], 0
jge 0x5ef2a2
mov eax, dword [esp + 0x420]
inc dword [eax + 0xc]
cmp dword [ebx + 4], 0
je 0x5ef30e
mov ecx, dword [esp + 0x41c]
mov eax, dword [esp + 0x41c]
add ecx, 0x1c
xor edx, edx
mov dl, byte [eax + 0x1a]
mov eax, dword [esp + 0x41c]
mov ebp, dword [eax + 4]
call dword [ebp + 0x1c]
jmp 0x5ef331
mov ecx, dword [esp + 0x41c]
mov eax, dword [esp + 0x41c]
add ecx, 0x1c
xor edx, edx
mov dl, byte [eax + 0x1a]
mov eax, dword [esp + 0x41c]
mov ebp, dword [eax + 4]
call dword [ebp + 0x10]
mov eax, dword [esp + 0x41c]
cmp dword [eax + 0x14], 0
je case.0x5e8207.89
mov edx, dword [esp + 0x41c]
cmp dword [edx + 0x14], 0
jle 0x5ef37a
mov ecx, dword [esp + 0x41c]
mov eax, dword [ecx]
call fcn.005e5c6c
push eax
push 0x67a0af
mov edx, dword [esp + 8]
push edx
call fcn.00631c34
add esp, 0xc
mov ecx, dword [esp + 0x41c]
mov esi, dword [ecx + 0x14]
mov eax, dword [esp + 0x41c]
cmp byte [eax + 0x19], 0
je 0x5ef3c0
mov edx, dword [ebx - 0x24]
mov dword [esp + 0x418], edx
cmp dword [esp + 0x418], 0
je 0x5ef3b5
push 0
push 1
mov eax, dword [esp + 0x420]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x2c]
call fcn.00647ba4
mov edx, dword [esp + 0x41c]
mov byte [edx + 0x19], 0
mov ecx, dword [esp + 0x41c]
mov eax, dword [ecx]
call fcn.006476d8
mov edx, dword [esp + 0x41c]
xor eax, eax
test esi, esi
mov ecx, dword [edx]
mov word [ecx + 0x10], 1
mov ecx, dword [esp + 0x41c]
mov dword [ecx + 0x14], eax
jne 0x5f0895
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x424], edx
cmp dword [ebx + 0xc], 0
je 0x5ef444
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
shl edx, 3
mov eax, dword [esp + 0x424]
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
call fcn.00647638
mov esi, eax
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x424], eax
jmp 0x5ef455
mov edx, dword [ebx + 0x10]
mov eax, dword [esp + 0x424]
call fcn.006475bc
mov esi, eax
test esi, esi
je 0x5ef47d
mov eax, dword [esp + 0x424]
call fcn.005e5c6c
push eax
push 0x67a0af
mov edx, dword [esp + 8]
push edx
call fcn.00631c34
add esp, 0xc
jmp 0x5f0895
xor edx, edx
mov eax, dword [esp + 0x424]
mov dl, byte [esp + 0xd]
call fcn.0064729c
jmp case.0x5e8207.89
xor ecx, ecx
lea eax, [esp + 0x6c0]
mov dword [esp + 0x6bc], ecx
or ecx, 0xffffffff
mov dword [esp + 0x6c4], ecx
mov dword [esp + 0x6c0], ecx
push eax
lea edx, [esp + 0x6c8]
push edx
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 8]
call fcn.005ff514
mov esi, eax
test esi, esi
je 0x5ef4e9
cmp esi, 5
jne 0x5f0895
mov dword [esp + 0x6bc], 1
xor esi, esi
xor eax, eax
mov dword [esp + 0x428], eax
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x42c], edx
mov ecx, dword [esp + 0x428]
mov eax, dword [esp + ecx*4 + 0x6bc]
cdq
push edx
push eax
mov eax, dword [esp + 0x434]
call fcn.00647ba4
inc dword [esp + 0x428]
add dword [esp + 0x42c], 0x28
cmp dword [esp + 0x428], 3
jl 0x5ef506
jmp case.0x5e8207.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x438], edx
mov eax, dword [esp + 8]
mov ecx, dword [ebx + 4]
shl ecx, 4
mov edx, dword [eax + 0x10]
mov ecx, dword [edx + ecx + 4]
mov dword [esp + 0x430], ecx
mov eax, dword [esp + 0x430]
call fcn.00630868
mov dword [esp + 0x434], eax
mov eax, dword [esp + 0x434]
call fcn.00640df0
mov dword [esp + 0x43c], eax
cmp dword [esp + 0x438], 0xffffffff
jne 0x5ef5af
mov edx, dword [esp + 0x43c]
mov dword [esp + 0x438], edx
mov eax, dword [esp + 0x434]
call fcn.00640df8
test eax, eax
jne 0x5ef5cd
mov edx, dword [esp + 0x43c]
mov dword [esp + 0x438], edx
mov edx, 1
mov eax, dword [esp + 0x434]
call fcn.00640a64
mov dword [esp + 0x440], eax
cmp dword [esp + 0x438], 5
jne 0x5ef61d
mov eax, dword [esp + 0x440]
call fcn.00644e74
test eax, eax
je 0x5ef60f
mov eax, dword [esp + 0x434]
call fcn.00640f1c
test eax, eax
jne 0x5ef61d
mov edx, dword [esp + 0x43c]
mov dword [esp + 0x438], edx
mov ecx, dword [esp + 0x438]
cmp ecx, dword [esp + 0x43c]
je 0x5ef70d
cmp dword [esp + 0x43c], 5
je 0x5ef649
cmp dword [esp + 0x438], 5
jne 0x5ef70d
mov ecx, dword [esp + 8]
cmp byte [ecx + 0x55], 0
je 0x5ef660
mov eax, dword [esp + 8]
cmp dword [eax + 0xbc], 1
jle 0x5ef695
cmp dword [esp + 0x438], 5
mov esi, 1
jne 0x5ef676
mov eax, str.into
jmp 0x5ef67b
mov eax, str.out_of
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
mov edx, dword [esp + 8]
push edx
call fcn.00631c34
add esp, 0xc
jmp 0x5f0895
cmp dword [esp + 0x43c], 5
jne 0x5ef6ca
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x434]
call fcn.00641010
mov esi, eax
test esi, esi
jne 0x5ef6e5
mov edx, dword [esp + 0x438]
mov eax, dword [esp + 0x434]
call fcn.00640d04
jmp 0x5ef6e5
cmp dword [esp + 0x43c], 4
jne 0x5ef6e5
mov edx, 2
mov eax, dword [esp + 0x434]
call fcn.00640d04
test esi, esi
jne 0x5ef70d
cmp dword [esp + 0x438], 5
jne 0x5ef6fa
mov edx, 2
jmp 0x5ef6ff
mov edx, 1
mov eax, dword [esp + 0x430]
call fcn.0063172c
mov esi, eax
test esi, esi
je 0x5ef71f
mov eax, dword [esp + 0x43c]
mov dword [esp + 0x438], eax
mov edx, dword [esp + 0x438]
mov eax, dword [esp + 0x434]
call fcn.00640d04
mov dword [esp + 0x438], eax
mov edx, dword [esp + 0x2c]
mov word [edx + 0x10], 0x2202
mov eax, dword [esp + 0x438]
call fcn.005dae24
mov edx, dword [esp + 0x2c]
mov dword [edx + 8], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 8]
call fcn.00644e74
mov edx, dword [esp + 0x2c]
mov dword [edx + 0xc], eax
xor edx, edx
mov ecx, dword [esp + 0x2c]
mov byte [ecx + 0x12], 1
mov dl, byte [esp + 0xd]
mov eax, dword [esp + 0x2c]
call fcn.0064729c
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
cmp dword [ebx + 8], 0
je 0x5ef7a2
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
jmp 0x5ef7a4
xor ecx, ecx
push ecx
mov eax, dword [esp + 4]
add eax, 0x7c
mov ecx, dword [ebx + 4]
mov edx, dword [esp + 0xc]
call fcn.006389ec
mov esi, eax
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov edx, dword [esp + 8]
mov eax, dword [ebx + 4]
shl eax, 4
mov ecx, dword [edx + 0x10]
mov ecx, dword [ecx + eax + 4]
mov dword [esp + 0x444], ecx
mov eax, dword [esp + 0x444]
call fcn.0062a5c4
mov esi, eax
test esi, esi
je case.0x5e8207.89
cmp esi, 0x65
jne 0x5f0895
xor esi, esi
jmp 0x5e8637
cmp dword [ebx + 4], 0
jne 0x5ef821
mov edx, dword [ebx + 8]
mov eax, dword [esp + 8]
call fcn.00635bc4
jmp case.0x5e8207.89
mov eax, dword [esp]
mov ecx, dword [ebx + 8]
inc ecx
and cl, 3
mov dl, byte [eax + 0x98]
mov eax, dword [esp]
and dl, 0xfc
or cl, dl
mov byte [eax + 0x98], cl
mov edx, dword [esp]
jmp case.0x5e8207.89
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x448], edx
mov ecx, dword [esp + 0x448]
mov eax, dword [ecx + 0x24]
call fcn.0062ad9c
jmp case.0x5e8207.89
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x44c], edx
mov ecx, dword [esp + 0x44c]
mov eax, dword [ecx + 0x24]
call fcn.0062ada4
jmp case.0x5e8207.89
mov dl, byte [ebx + 0xc]
mov byte [esp + 0x450], dl
cmp byte [esp + 0x450], 0
jne 0x5ef8c9
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x20]
mov edx, dword [ecx + 0x24]
xor eax, eax
and edx, 4
cmp edx, 0
jne 0x5ef8c3
cmp eax, 0
jne case.0x5e8207.89
mov ecx, dword [ebx + 4]
mov dword [esp + 0x454], ecx
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x454]
shl eax, 4
mov cl, byte [esp + 0x450]
mov edx, dword [edx + 0x10]
mov eax, dword [edx + eax + 4]
mov edx, dword [ebx + 8]
call fcn.0063166c
mov esi, eax
test esi, esi
je case.0x5e8207.89
mov eax, esi
and eax, 0xff
cmp eax, 6
jne 0x5f0895
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x458], edx
mov ecx, dword [esp + 0x458]
push ecx
push str.database_table_is_locked:__s
mov ecx, dword [esp + 8]
push ecx
call fcn.00631c34
add esp, 0xc
jmp 0x5f0895
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x45c], eax
mov edx, dword [esp + 0x45c]
mov eax, dword [esp + 8]
call fcn.00608be8
cmp dword [esp + 0x45c], 0
mov esi, eax
je 0x5ef977
mov eax, dword [esp + 0x45c]
mov edx, dword [eax + 8]
mov eax, dword [esp]
call fcn.00635cec
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
lea eax, [esp + 0x6c8]
mov ecx, 0x28
xor edx, edx
call fcn.005c83cc
mov ecx, dword [esp + 8]
lea eax, [esp + 0x6c8]
mov dword [esp + 0x6dc], ecx
mov edx, dword [ebx + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
call fcn.00647d2c
mov esi, eax
lea eax, [esp + 0x6c8]
call fcn.005e5c6c
mov dword [esp + 0x460], eax
cmp dword [esp + 0x460], 0
je 0x5ef9f6
mov edx, dword [esp]
add edx, 0x7c
push edx
mov ecx, dword [esp + 0x464]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0xc]
call fcn.00608744
mov esi, eax
lea eax, [esp + 0x6c8]
call fcn.006476d8
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov edx, dword [esp + 8]
inc dword [edx + 0xc8]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 8]
call fcn.00608a24
mov esi, eax
mov eax, dword [esp + 8]
dec dword [eax + 0xc8]
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x464], edx
mov dword [esp + 0x468], ecx
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x46c], eax
cmp dword [esp + 0x46c], 0
je 0x5efa76
mov edx, dword [esp + 0x46c]
cmp dword [edx], 0
jne 0x5efa80
mov esi, 6
jmp 0x5f0895
mov eax, dword [esp + 0x46c]
mov edx, dword [eax]
mov dword [esp + 0x470], edx
lea edx, [esp + 0x468]
mov esi, dword [esp + 0x470]
mov eax, dword [esp + 0x46c]
call dword [esi + 0x18]
mov esi, eax
mov edx, dword [esp + 0x46c]
mov eax, dword [esp]
call fcn.00635cec
test esi, esi
jne 0x5f0895
mov ecx, dword [esp + 0x468]
mov eax, dword [esp + 0x46c]
mov dword [ecx], eax
push 2
xor ecx, ecx
mov edx, dword [ebx + 4]
mov eax, dword [esp + 4]
call fcn.005e7a98
mov dword [esp + 0x464], eax
cmp dword [esp + 0x464], 0
je 0x5efb12
mov edx, dword [esp + 0x464]
mov ecx, dword [esp + 0x468]
mov dword [edx + 0x24], ecx
mov ecx, dword [esp + 0x46c]
inc dword [ecx + 4]
jmp case.0x5e8207.89
mov esi, dword [esp + 0x470]
mov eax, dword [esp + 0x468]
call dword [esi + 0x1c]
jmp 0x5f0a3e
xor edx, edx
mov dword [esp + 0x480], edx
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x2c]
call fcn.00647b38
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x474], edx
mov ecx, dword [esp + 0x474]
cmp dword [ecx + 0x34], 0
je case.0x5e8207.89
mov ecx, dword [esp + 0x474]
mov eax, dword [ecx + 0x34]
mov edx, dword [eax + 8]
mov dword [esp + 0x478], edx
mov ecx, dword [esp + 0x478]
mov eax, dword [ecx]
mov dword [esp + 0x47c], eax
mov edx, dword [esp + 0x474]
mov eax, dword [edx + 0x34]
call fcn.00607e8c
mov edx, dword [ebx + 0xc]
push edx
lea ecx, [esp + 0x484]
push ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 4]
shl ecx, 4
mov esi, dword [esp + 0x484]
mov edx, dword [eax + 0x10]
mov eax, dword [esp + 0x47c]
mov edx, dword [edx + ecx]
mov ecx, dword [eax]
mov eax, dword [esp + 0x480]
call dword [esi + 0x60]
mov esi, eax
mov eax, dword [esp + 0x474]
mov eax, dword [eax + 0x34]
call fcn.00607ea4
test esi, esi
je 0x5efbfa
mov eax, dword [esp + 0x480]
call fcn.0064ca48
jmp 0x5f0895
cmp dword [esp + 0x480], 0
je case.0x5e8207.89
push 0xffffffffffffffff
push 0xffffffffffffffff
push fcn.0064ca48
mov cl, 1
mov edx, dword [esp + 0x48c]
mov eax, dword [esp + 0x38]
call fcn.00647da4
jmp case.0x5e8207.89
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x484], edx
push 0
push 8
call fcn.0064c99c
mov dword [esp + 0x488], eax
cmp dword [esp + 0x488], 0
je 0x5f0a3e
mov ecx, dword [esp + 0x484]
mov eax, dword [esp + 0x488]
mov ecx, dword [ecx + 0x24]
mov dword [eax], ecx
mov edx, dword [ebx + 0xc]
mov eax, dword [esp + 0x488]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [eax + 4], edx
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x2c]
mov word [edx + 0x10], 1
push 0x5e640c
mov ecx, str.ValueList
mov edx, dword [esp + 0x48c]
mov eax, dword [esp + 0x30]
call fcn.00647bf4
jmp case.0x5e8207.89
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x498], ecx
mov ecx, dword [esp + 0x498]
add ecx, 0x28
mov dword [esp + 0x49c], ecx
mov eax, dword [esp]
mov edx, dword [eax + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [edx + eax*4]
mov dword [esp + 0x4a8], edx
mov ecx, dword [esp + 0x4a8]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x4a0], ecx
mov eax, dword [esp + 0x4a0]
mov edx, dword [eax]
mov dword [esp + 0x4a4], edx
mov ecx, dword [esp + 0x4a4]
mov eax, dword [ecx]
mov dword [esp + 0x494], eax
mov edx, dword [esp + 0x49c]
mov eax, dword [edx]
mov dword [esp + 0x48c], eax
mov edx, dword [esp + 0x498]
mov eax, dword [edx]
mov dword [esp + 0x490], eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x5c]
mov dword [esp + 0x4b4], ecx
xor ecx, ecx
mov dword [esp + 0x4b0], ecx
mov eax, dword [esp + 0x4b0]
cmp eax, dword [esp + 0x48c]
jge 0x5efda8
mov ecx, dword [esp + 0x4b0]
mov edx, dword [esp + 0x4b4]
shl ecx, 3
mov eax, dword [esp + 0x4b0]
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x49c]
add ecx, 0x28
mov dword [edx + eax*4], ecx
inc dword [esp + 0x4b0]
mov edx, dword [esp + 0x4b0]
cmp edx, dword [esp + 0x48c]
jl 0x5efd69
mov ecx, dword [esp + 0x48c]
push ecx
mov eax, dword [esp + 0x4b8]
push eax
mov esi, dword [esp + 0x49c]
mov ecx, dword [ebx + 0x10]
mov edx, dword [esp + 0x498]
mov eax, dword [esp + 0x4a8]
call dword [esi + 0x20]
mov esi, eax
mov edx, dword [esp + 0x4a4]
mov eax, dword [esp]
call fcn.00635cec
test esi, esi
jne 0x5f0895
mov ebp, dword [esp + 0x494]
mov eax, dword [esp + 0x4a0]
call dword [ebp + 0x28]
mov dword [esp + 0x4ac], eax
mov edx, dword [esp + 0x4a8]
mov byte [edx + 2], 0
cmp dword [esp + 0x4ac], 0
jne 0x5e8637
jmp case.0x5e8207.89
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x4c4], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x4c0], ecx
mov eax, dword [esp + 0x4c4]
cmp byte [eax + 2], 0
je 0x5efe67
mov eax, dword [esp + 0x4c0]
call fcn.00647b38
jmp case.0x5e8207.89
mov edx, dword [esp + 0x4c4]
mov ecx, dword [edx + 0x24]
mov ecx, dword [ecx]
mov dword [esp + 0x4b8], ecx
mov ecx, 0x20
mov eax, dword [esp + 0x4b8]
mov edx, dword [eax]
lea eax, [esp + 0x6f0]
mov dword [esp + 0x4bc], edx
xor edx, edx
call fcn.005c83cc
mov ecx, dword [esp + 0x4c0]
xor edx, edx
mov dword [esp + 0x6f0], ecx
lea ecx, [esp + 0x710]
mov al, byte [esp + 0xd]
mov byte [esp + 0x708], al
mov dword [esp + 0x718], edx
mov dword [esp + 0x714], 0x1000000
mov dword [esp + 0x6f4], ecx
test byte [ebx + 2], 1
je 0x5eff04
mov eax, dword [esp + 0x4c0]
call fcn.00647b38
mov edx, dword [esp + 0x4c0]
mov word [edx + 0x10], 0x401
mov ecx, dword [esp + 0x4c0]
xor eax, eax
mov dword [ecx], eax
jmp 0x5eff23
mov edx, dword [esp + 0x4c0]
mov eax, dword [esp + 0x4c0]
mov cx, word [edx + 0x10]
and cx, 0xf240
or cx, 1
mov word [eax + 0x10], cx
mov eax, dword [esp + 0x4c4]
mov esi, dword [esp + 0x4bc]
lea edx, [esp + 0x6f0]
mov ecx, dword [ebx + 8]
mov eax, dword [eax + 0x24]
call dword [esi + 0x2c]
mov esi, eax
mov edx, dword [esp + 0x4b8]
mov eax, dword [esp]
call fcn.00635cec
cmp dword [esp + 0x704], 0
jle 0x5eff82
mov eax, dword [esp + 0x4c0]
call fcn.005e5c6c
push eax
push 0x67a0af
mov edx, dword [esp + 8]
push edx
call fcn.00631c34
add esp, 0xc
mov esi, dword [esp + 0x704]
xor edx, edx
mov eax, dword [esp + 0x4c0]
mov dl, byte [esp + 0xd]
call fcn.0064729c
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x4d4], edx
mov ecx, dword [esp + 0x4d4]
cmp byte [ecx + 2], 0
je 0x5effc6
jmp case.0x5e8207.89
mov eax, dword [esp + 0x4d4]
mov edx, dword [eax + 0x24]
mov ecx, dword [edx]
mov dword [esp + 0x4c8], ecx
mov eax, dword [esp + 0x4c8]
mov edx, dword [eax]
mov dword [esp + 0x4cc], edx
mov ecx, dword [esp + 0x4d4]
mov esi, dword [esp + 0x4cc]
mov eax, dword [ecx + 0x24]
call dword [esi + 0x24]
mov esi, eax
mov edx, dword [esp + 0x4c8]
mov eax, dword [esp]
call fcn.00635cec
test esi, esi
jne 0x5f0895
mov ecx, dword [esp + 0x4d4]
mov ebp, dword [esp + 0x4cc]
mov eax, dword [ecx + 0x24]
call dword [ebp + 0x28]
mov dword [esp + 0x4d0], eax
cmp dword [esp + 0x4d0], 0
jne 0x5e8504
jmp case.0x5e8207.9
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x20]
and eax, 0x4000000
mov dword [esp + 0x4e0], eax
mov edx, dword [esp + 8]
or dword [edx + 0x20], 0x4000000
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x4d8], ecx
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x4dc], eax
mov edx, 1
mov eax, dword [esp + 0x4dc]
call fcn.0064729c
mov esi, eax
test esi, esi
jne 0x5f0895
mov eax, dword [esp + 0x4dc]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x4d8]
mov ecx, dword [eax]
call dword [ecx + 0x4c]
cmp dword [esp + 0x4e0], 0
mov esi, eax
jne 0x5f00d4
mov eax, dword [esp + 8]
and dword [eax + 0x20], 0xfbffffff
and dword [eax + 0x24], 0xffffffff
mov edx, dword [esp + 0x4d8]
mov eax, dword [esp]
call fcn.00635cec
mov edx, dword [esp]
and byte [edx + 0x98], 0xfc
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov dword [esp + 0x4f4], 0
mov dword [esp + 0x4f8], 0
mov ecx, dword [esp + 8]
cmp byte [ecx + 0x57], 0
jne 0x5f0a3e
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x4e4], eax
cmp dword [esp + 0x4e4], 0
je 0x5f0141
mov edx, dword [esp + 0x4e4]
cmp dword [edx], 0
jne 0x5f014b
mov esi, 6
jmp 0x5f0895
mov eax, dword [esp + 0x4e4]
mov edx, dword [eax]
mov dword [esp + 0x4e8], edx
mov ecx, dword [ebx + 8]
mov dword [esp + 0x4ec], ecx
mov ecx, dword [esp + 0x4e8]
cmp dword [ecx + 0x34], 0
je case.0x5e8207.89
mov eax, dword [esp + 8]
mov dl, byte [eax + 0x5c]
mov byte [esp + 0x504], dl
mov ecx, dword [esp]
mov eax, dword [ecx + 0x5c]
xor ecx, ecx
mov dword [esp + 0x4fc], eax
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x500], edx
mov dword [esp + 0x4f0], ecx
mov eax, dword [esp + 0x4f0]
cmp eax, dword [esp + 0x4ec]
jge 0x5f01f5
mov edx, dword [esp + 0x4fc]
mov eax, dword [esp + 0x4f0]
mov ecx, dword [esp + 0x500]
mov dword [edx + eax*4], ecx
add dword [esp + 0x500], 0x28
inc dword [esp + 0x4f0]
mov edx, dword [esp + 0x4f0]
cmp edx, dword [esp + 0x4ec]
jl 0x5f01be
mov ecx, dword [esp + 8]
mov al, byte [ebx + 2]
mov byte [ecx + 0x5c], al
lea edx, [esp + 0x4f4]
push edx
mov esi, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x500]
mov edx, dword [esp + 0x4f0]
mov eax, dword [esp + 0x4e8]
call dword [esi + 0x34]
mov esi, eax
mov eax, dword [esp + 8]
mov dl, byte [esp + 0x504]
mov byte [eax + 0x5c], dl
mov edx, dword [esp + 0x4e4]
mov eax, dword [esp]
call fcn.00635cec
test esi, esi
jne 0x5f0267
cmp dword [ebx + 4], 0
je 0x5f0267
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x4f4]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x4f8]
mov dword [ecx + 0x2c], eax
mov edx, esi
and edx, 0xff
cmp edx, 0x13
jne 0x5f02a5
mov ecx, dword [ebx + 0x10]
cmp byte [ecx + 0x10], 0
je 0x5f02a5
movzx ecx, word [ebx + 2]
cmp ecx, 4
jne 0x5f028a
xor esi, esi
jmp 0x5f02b0
movzx eax, word [ebx + 2]
cmp eax, 5
jne 0x5f0297
mov dl, 2
jmp 0x5f029a
mov dl, byte [ebx + 2]
mov eax, dword [esp]
mov byte [eax + 0x94], dl
jmp 0x5f02b0
mov ecx, dword [esp]
add dword [ecx + 0x28], 1
adc dword [ecx + 0x2c], 0
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 8]
mov ecx, dword [ebx + 4]
shl ecx, 4
mov edx, dword [eax + 0x10]
mov eax, dword [edx + ecx + 4]
call fcn.00628ea0
xor edx, edx
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5e8207.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e7dd4
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 8]
mov ecx, dword [ebx + 4]
shl ecx, 4
mov edx, dword [eax + 0x10]
mov ecx, dword [edx + ecx + 4]
mov dword [esp + 0x50c], ecx
xor ecx, ecx
mov dword [esp + 0x508], ecx
cmp dword [ebx + 0xc], 0
je 0x5f034f
mov eax, dword [esp + 0x50c]
call fcn.00628ea0
mov dword [esp + 0x508], eax
mov edx, dword [ebx + 0xc]
cmp edx, dword [esp + 0x508]
jbe 0x5f034f
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x508], ecx
mov edx, dword [esp + 0x508]
mov eax, dword [esp + 0x50c]
call fcn.00629830
xor edx, edx
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5e8207.89
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x514], eax
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x2c], edx
mov ecx, dword [esp + 0x514]
mov eax, dword [ecx]
cmp eax, dword [esp + 0x2c]
je 0x5f0419
mov edx, dword [esp + 0x514]
mov eax, dword [esp]
mov dword [edx + 0xc], eax
mov edx, dword [esp + 0x514]
mov ecx, dword [esp + 0x2c]
mov dword [edx], ecx
mov ecx, dword [esp + 0x514]
mov al, byte [esp + 0xd]
mov byte [ecx + 0x18], al
mov edx, dword [esp + 0x514]
xor ecx, ecx
mov cl, byte [edx + 0x1a]
dec ecx
mov dword [esp + 0x510], ecx
cmp dword [esp + 0x510], 0
jl 0x5f0419
mov ecx, dword [ebx + 8]
mov eax, dword [esp + 0x514]
add ecx, dword [esp + 0x510]
mov edx, dword [esp + 0x510]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [eax + edx*4 + 0x1c], ecx
dec dword [esp + 0x510]
cmp dword [esp + 0x510], 0
jge 0x5f03e2
mov eax, dword [esp + 0x2c]
mov dx, word [eax + 0x10]
mov eax, dword [esp + 0x2c]
and dx, 0xf240
or dx, 1
mov word [eax + 0x10], dx
mov edx, dword [esp + 0x514]
mov eax, dword [esp + 0x514]
mov ecx, dword [esp + 0x514]
movzx edx, byte [edx + 0x1a]
mov ebp, dword [eax + 4]
add ecx, 0x1c
call dword [ebp + 0x10]
mov eax, dword [esp + 0x514]
cmp dword [eax + 0x14], 0
je case.0x5e8207.89
mov edx, dword [esp + 0x514]
cmp dword [edx + 0x14], 0
jle 0x5f0498
mov eax, dword [esp + 0x2c]
call fcn.005e5c6c
push eax
push 0x67a0af
mov edx, dword [esp + 8]
push edx
call fcn.00631c34
add esp, 0xc
mov ecx, dword [esp + 0x514]
mov esi, dword [ecx + 0x14]
mov eax, dword [ebx + 4]
push eax
mov edx, dword [esp + 0x518]
mov eax, dword [esp + 0xc]
mov ecx, dword [edx + 0x10]
mov edx, dword [esp + 4]
add edx, 0xec
call fcn.00634484
mov ecx, dword [esp + 0x514]
xor eax, eax
mov dword [ecx + 0x14], eax
test esi, esi
jne 0x5f0895
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x28]
and word [ecx + 0x10], 0xf7ff
jmp case.0x5e8207.89
mov ecx, dword [ebx + 4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x28]
test byte [edx + 0x11], 8
je 0x5f0538
mov ecx, dword [esp + 0x28]
xor eax, eax
mov al, byte [ecx + 0x13]
cdq
push edx
push eax
mov eax, dword [esp + 0x34]
call fcn.00647ba4
jmp case.0x5e8207.89
mov eax, dword [esp + 0x2c]
call fcn.00647b38
jmp case.0x5e8207.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x10], 1
je 0x5f0581
mov eax, dword [esp + 0x2c]
and word [eax + 0x10], 0xf7ff
jmp case.0x5e8207.89
mov edx, dword [esp + 0x2c]
or word [edx + 0x10], 0x800
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov eax, dword [ecx]
and al, 0xff
mov byte [edx + 0x13], al
jmp case.0x5e8207.89
mov ecx, dword [ebx + 4]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov edx, ebx
mov eax, dword [esp + 0x24]
call fcn.005e7df8
mov dword [esp + 0x518], eax
mov dword [esp + 0x51c], edx
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0xc]
shl eax, 3
cdq
push edx
push eax
mov eax, dword [esp + 0x520]
mov edx, dword [esp + 0x524]
call fcn.005c8794
mov dword [esp + 0x518], eax
mov dword [esp + 0x51c], edx
mov eax, dword [esp + 0x518]
mov ecx, eax
and ecx, 7
mov dl, 1
shl dl, cl
push edx
push 0
push 8
mov eax, dword [esp + 0x524]
mov edx, dword [esp + 0x528]
call fcn.005c8748
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 8]
pop edx
or byte [ecx + eax], dl
jmp case.0x5e8207.89
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov edx, ebx
mov eax, dword [esp + 0x24]
call fcn.005e7df8
mov dword [esp + 0x520], eax
mov dword [esp + 0x524], edx
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0xc]
shl eax, 3
cdq
push edx
push eax
mov eax, dword [esp + 0x528]
mov edx, dword [esp + 0x52c]
call fcn.005c8794
mov dword [esp + 0x520], eax
mov dword [esp + 0x524], edx
push 0
push 8
mov eax, dword [esp + 0x528]
mov edx, dword [esp + 0x52c]
call fcn.005c8748
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + 8]
movsx ebp, byte [ecx + eax]
mov eax, dword [esp + 0x520]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
and ebp, edx
jne 0x5f06d3
mov ecx, dword [esp]
inc dword [ecx + 0xc4]
jmp 0x5e8637
mov eax, dword [esp]
inc dword [eax + 0xc0]
jmp case.0x5e8207.89
mov edx, dword [esp + 8]
test byte [edx + 0x5e], 0x41
je 0x5f07fe
mov ecx, dword [esp]
xor eax, eax
mov al, byte [ecx + 0x95]
cmp eax, 0xfe
je 0x5f07fe
cmp dword [ebx + 0x10], 0
je 0x5f0710
mov edx, dword [ebx + 0x10]
jmp 0x5f0719
mov ecx, dword [esp]
mov edx, dword [ecx + 0xc8]
mov dword [esp + 0x52c], edx
test edx, edx
je 0x5f07fe
mov eax, dword [esp + 8]
test byte [eax + 0x5e], 0x40
je 0x5f0774
mov edx, dword [esp + 0x52c]
mov eax, dword [esp]
call fcn.00638578
mov dword [esp + 0x530], eax
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 8]
mov edx, dword [esp + 0x530]
mov eax, dword [ecx + 0xd8]
call dword [ebp + 0xd4]
mov eax, dword [esp + 0x530]
call fcn.0064ca48
jmp 0x5f07fe
mov ecx, dword [esp + 8]
cmp dword [ecx + 0xc4], 1
jle 0x5f07d9
mov ecx, dword [esp + 0x52c]
push ecx
push 0x67a31f
mov eax, dword [esp + 0x10]
push eax
call fcn.00644ba0
add esp, 0xc
mov dword [esp + 0x534], eax
mov eax, 1
mov edx, dword [esp + 0x534]
push edx
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0xc]
mov edx, dword [ecx + 0xd8]
mov ecx, dword [esp + 4]
call dword [ebp + 0xd4]
mov edx, dword [esp + 0x534]
mov eax, dword [esp + 8]
call fcn.0064cb60
jmp 0x5f07fe
mov edx, dword [esp + 0x52c]
mov eax, 1
push edx
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0xc]
mov edx, dword [ecx + 0xd8]
mov ecx, dword [esp + 4]
call dword [ebp + 0xd4]
mov edx, dword [ebx + 4]
cmp edx, dword [0x67f91c]
jl 0x5f086c
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0xb8
je case.0x5e8207.89
mov dword [esp + 0x528], 1
jmp 0x5f0858
mov eax, dword [esp + 0x528]
mov edx, dword [esp]
mov edx, dword [edx + 0x68]
lea eax, [eax + eax*4]
movzx eax, byte [edx + eax*8]
cmp eax, 0xf
jne 0x5f0851
mov eax, dword [esp]
mov ecx, dword [esp + 0x528]
mov edx, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
xor eax, eax
mov dword [edx + ecx*8 + 4], eax
inc dword [esp + 0x528]
mov edx, dword [esp]
mov ecx, dword [edx + 0x6c]
cmp ecx, dword [esp + 0x528]
jg 0x5f0822
xor ecx, ecx
mov dword [ebx + 4], ecx
inc dword [ebx + 4]
mov eax, dword [esp]
inc dword [eax + 0xbc]
jmp 0x5e8637
test edi, edi
je 0x5f088d
call fcn.0064721c
add dword [edi], eax
adc dword [edi + 4], edx
xor edi, edi
add ebx, 0x28
jmp 0x5e81d2
mov eax, dword [esp + 8]
cmp byte [eax + 0x57], 0
je 0x5f08a6
mov esi, 7
jmp 0x5f08ba
cmp esi, 0x210a
jne 0x5f08ba
mov eax, 0x2373
call fcn.006006d0
mov esi, eax
mov eax, dword [esp]
cmp dword [eax + 0x7c], 0
jne 0x5f08e5
cmp esi, 0xc0a
je 0x5f08e5
mov eax, esi
call fcn.005feb98
push eax
push 0x67a0af
mov edx, dword [esp + 8]
push edx
call fcn.00631c34
add esp, 0xc
mov ecx, dword [esp]
mov dword [ecx + 0x24], esi
mov edx, esi
mov eax, dword [esp + 8]
call fcn.00644f30
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x7c]
push ecx
mov eax, dword [esp + 4]
mov edx, dword [eax + 0xc8]
push edx
mov eax, ebx
sub eax, dword [esp + 0xc]
mov ecx, 0x28
cdq
idiv ecx
push eax
push str.statement_aborts_at__d:___s___s
push esi
call fcn.00644cf8
add esp, 0x14
mov ecx, dword [esp]
xor eax, eax
mov al, byte [ecx + 0x97]
cmp eax, 2
jne 0x5f093d
mov eax, dword [esp]
call fcn.00633fec
cmp esi, 0xc0a
jne 0x5f094e
mov eax, dword [esp + 8]
call fcn.0064d0f8
cmp esi, 0xb
jne 0x5f0965
mov edx, dword [esp + 8]
cmp byte [edx + 0x55], 0
jne 0x5f0965
mov ecx, dword [esp + 8]
or dword [ecx + 0x24], 2
mov esi, 1
xor eax, eax
mov al, byte [esp + 0xc]
test eax, eax
jle 0x5f0984
xor edx, edx
mov eax, dword [esp + 8]
mov dl, byte [esp + 0xc]
dec edx
call fcn.005cdf70
test edi, edi
je 0x5f09dc
call fcn.0064721c
add dword [edi], eax
adc dword [edi + 4], edx
xor edi, edi
jmp 0x5f09dc
mov eax, dword [esp + 8]
xor edx, edx
mov eax, dword [eax + 0x184]
add dword [esp + 0x1c], eax
adc dword [esp + 0x20], edx
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 8]
mov eax, dword [ecx + 0x180]
call dword [ebp + 0x17c]
test eax, eax
je 0x5f09dc
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x20], 0xffffffff
mov esi, 9
jmp 0x5f0895
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x20]
jne 0x5f09ee
cmp eax, dword [esp + 0x1c]
jb 0x5f09fd
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x17c], 0
jne 0x5f0996
mov eax, dword [esp + 0x14]
mov edx, dword [esp]
add dword [edx + 0xb4], eax
mov ecx, dword [esp]
cmp dword [ecx + 0xa0], 0
je 0x5f0a1e
mov eax, dword [esp]
call fcn.00632f98
mov eax, esi
jmp 0x5f0a6d
push 0x67a345
mov edx, dword [esp + 4]
push edx
call fcn.00631c34
add esp, 8
mov esi, 0x12
jmp 0x5f0895
mov eax, dword [esp + 8]
call fcn.0064d0f8
push 0x67a35c
mov edx, dword [esp + 4]
push edx
call fcn.00631c34
add esp, 8
mov esi, 7
jmp 0x5f0895
mov esi, 9
jmp 0x5f0895
add esp, 0x758
pop ebp
pop edi
pop esi
pop ebx
ret