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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffff8ac
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 0x5e7a20
cmp eax, 0
setne cl
and ecx, 1
mov dword [esp + 0x34], ecx
mov ecx, dword [esp]
cmp dword [ecx + 0xa0], 0
je 0x5e7a3e
mov eax, dword [esp]
call fcn.00631e64
mov edx, dword [esp + 8]
cmp dword [edx + 0x17c], 0
je 0x5e7a82
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 0x5e7a92
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x20], 0xffffffff
mov ecx, dword [esp]
cmp dword [ecx + 0x24], 7
jne 0x5e7aa0
jmp 0x5f02b8
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 0x5f02dd
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 0x5e7b0c
add dword [ebx + 0x18], 1
adc dword [ebx + 0x1c], 0
lea edi, [ebx + 0x20]
call fcn.00646070
sub dword [edi], eax
sbb dword [edi + 4], edx
xor eax, eax
mov al, byte [ebx]
cmp eax, 0xb8
ja case.0x5e7b1b.89
jmp dword [eax*4 + 0x5e7b22]
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 0x5f02dd
jmp 0x5e7e71
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 0x5e7e71
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x20], 0xffffffff
mov esi, 9
jmp 0x5f010f
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x20]
jne 0x5e7e83
cmp eax, dword [esp + 0x1c]
jb case.0x5e7b1b.89
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x17c], 0
jne 0x5e7e2b
jmp case.0x5e7b1b.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.0x5e7b1b.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 0x5e7f09
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.0x5e7b1b.89
cmp dword [ebx + 0xc], 0
je case.0x5e7b1b.89
jmp case.0x5e7b1b.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.0x5e7b1b.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.0x5e7b1b.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]
mov eax, dword [eax]
mov edx, eax
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 4]
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
mov ebx, dword [ecx + 8]
shl ebx, 3
lea ebx, [ebx + ebx*4]
add ebx, dword [esp + 4]
mov word [eax + 0x10], 0
add ebx, 0xffffffd8
jmp case.0x5e7b1b.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 word [ecx + 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.0x5e7b1b.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.0x5e7b1b.89
mov eax, dword [esp]
cmp dword [eax + 0xd8], 0
je 0x5e80b6
cmp dword [ebx + 4], 0
jne 0x5e80b6
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.00634af8
mov eax, dword [esp + 0x44]
call fcn.00632818
mov dword [esp + 0x48], eax
cmp dword [ebx + 8], 4
jne 0x5e808f
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.0x5e7b1b.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 0x5e8179
cmp word [ebx + 2], 0
je 0x5e8129
movzx ecx, word [ebx + 2]
mov ecx, dword [ecx*4 + 0x678fbc]
push ecx
push str._s_constraint_failed
mov eax, dword [esp + 8]
push eax
call fcn.00630b98
add esp, 0xc
cmp dword [ebx + 0x10], 0
je 0x5e813f
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.00643ae0
add esp, 0x10
mov edx, dword [esp]
mov dword [edx + 0x7c], eax
jmp 0x5e813f
mov eax, dword [ebx + 0x10]
push eax
push 0x67904b
mov ecx, dword [esp + 8]
push ecx
call fcn.00630b98
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.00643c38
add esp, 0x14
mov eax, dword [esp]
call fcn.00632f50
mov esi, eax
cmp esi, 5
jne 0x5e8197
mov eax, dword [esp]
mov dword [eax + 0x24], 5
jmp 0x5f01fe
mov edx, dword [esp]
cmp dword [edx + 0x24], 0
je 0x5e81aa
mov esi, 1
jmp 0x5f01fe
mov esi, 0x65
jmp 0x5f01fe
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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.0x5e7b1b.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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.0x5e7b1b.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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.0x5e7b1b.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0x10]
call fcn.00643db4
mov dword [ebx + 4], eax
xor edx, edx
mov dl, byte [esp + 0xd]
dec edx
je 0x5e82ba
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0
mov cl, 1
mov edx, dword [ebx + 0x10]
mov eax, dword [esp + 0x38]
call fcn.00646bdc
mov esi, eax
test esi, esi
jne 0x5f029c
xor edx, edx
mov eax, dword [esp + 0x2c]
mov dl, byte [esp + 0xd]
call fcn.006460f0
test eax, eax
jne 0x5f02b8
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 0x5e82a2
mov edx, dword [ebx + 0x10]
mov eax, dword [esp + 8]
call fcn.0064b5f4
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 0x5e82cb
jmp 0x5f029c
mov byte [ebx], 0x49
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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.0x5e7b1b.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 0x5e8333
cmp eax, dword [esp]
pop edx
pop eax
jne case.0x5e7b1b.89
mov ecx, dword [esp + 0x2c]
mov word [ecx + 0x10], 0x2210
jmp case.0x5e7b1b.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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 0x5e836e
mov cx, 0x101
jmp 0x5e8372
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.0x5e7b1b.89
add dword [esp + 0x2c], 0x28
mov eax, dword [esp + 0x2c]
call fcn.0064698c
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 0x5e8393
jmp case.0x5e7b1b.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.0x5e7b1b.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
mov dword [esp + 0x2c], eax
cmp dword [ebx + 0x10], 0
jne 0x5e8428
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x2c]
call fcn.006469a8
mov eax, dword [esp + 0x2c]
call fcn.00646344
test eax, eax
jne 0x5f02b8
jmp 0x5e843e
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.00646bdc
mov ecx, dword [esp + 0x2c]
mov al, byte [esp + 0xd]
mov byte [ecx + 0x12], al
jmp case.0x5e7b1b.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.00646ae0
test eax, eax
je 0x5e8476
jmp 0x5f029c
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 0x5e849a
mov eax, dword [esp + 0x2c]
call fcn.0064698c
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.0x5e7b1b.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.00646bb0
mov edx, dword [esp + 0x2c]
test byte [edx + 0x11], 0x40
je 0x5e8527
mov eax, dword [esp + 0x2c]
call fcn.006462f0
test eax, eax
je 0x5e8527
jmp 0x5f02b8
add dword [esp + 0x28], 0x28
add dword [esp + 0x2c], 0x28
dec dword [esp + 0x58]
jne 0x5e84fe
jmp case.0x5e7b1b.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.00646b24
mov ecx, dword [esp + 0x2c]
test byte [ecx + 0x11], 0x40
je 0x5e8593
mov eax, dword [esp + 0x2c]
call fcn.006462f0
test eax, eax
je 0x5e8593
jmp 0x5f02b8
mov edx, dword [esp + 0x2c]
test byte [edx + 0x11], 8
je 0x5e85ad
test byte [ebx + 2], 2
je 0x5e85ad
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.0x5e7b1b.89
add dword [esp + 0x2c], 0x28
add dword [esp + 0x28], 0x28
jmp 0x5e8565
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.00646b24
jmp case.0x5e7b1b.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.006469f8
jmp case.0x5e7b1b.89
xor edx, edx
mov eax, dword [esp]
call fcn.00632ed0
mov esi, eax
test eax, eax
je case.0x5e7b1b.89
jmp 0x5f010f
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 0x5f02b8
mov ecx, dword [esp + 8]
test byte [ecx + 0x5e], 4
je 0x5e86b6
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 0x5f01fe
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 0x5e872e
mov eax, dword [esp + 0x2c]
call fcn.0064698c
jmp case.0x5e7b1b.89
test byte [esp + 0x70], 0x12
jne 0x5e875f
xor ecx, ecx
mov dl, byte [esp + 0xd]
mov eax, dword [esp + 0x28]
call fcn.006463b4
test eax, eax
jne 0x5f02b8
mov ecx, dword [esp + 0x28]
mov ax, word [ecx + 0x10]
and ax, 0xfffd
mov word [esp + 0x70], ax
jmp 0x5e8789
test byte [esp + 0x71], 4
je 0x5e8789
mov eax, dword [esp + 0x28]
call fcn.00646344
test eax, eax
jne 0x5f02b8
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 0x5e87be
xor ecx, ecx
mov dl, byte [esp + 0xd]
mov eax, ebp
call fcn.006463b4
test eax, eax
jne 0x5f02b8
mov cx, word [ebp + 0x10]
and cx, 0xfffd
mov word [esp + 0x72], cx
jmp 0x5e87e2
test byte [esp + 0x73], 4
je 0x5e87e2
mov eax, ebp
call fcn.00646344
test eax, eax
jne 0x5f02b8
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 0x5e880e
cmp eax, dword [esp + 0x68]
jae 0x5e8815
jmp 0x5f029c
jge 0x5e8815
jmp 0x5f029c
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.00646110
test eax, eax
je 0x5e883a
jmp 0x5f02b8
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 0x5e8874
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 0x5e88b1
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.0x5e7b1b.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 0x5e8ae2
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 0x5e898b
dec cl
je 0x5e89ac
dec cl
je 0x5e89cd
dec cl
je 0x5e89ee
jmp 0x5e8a54
push dword [esp + 0x7c]
push dword [esp + 0x7c]
lea eax, [esp + 0x88]
call fcn.00645a2c
test eax, eax
jne 0x5e8b28
jmp 0x5e8aad
push dword [esp + 0x7c]
push dword [esp + 0x7c]
lea eax, [esp + 0x88]
call fcn.00645ae8
test eax, eax
jne 0x5e8b28
jmp 0x5e8aad
push dword [esp + 0x7c]
push dword [esp + 0x7c]
lea eax, [esp + 0x88]
call fcn.00645b40
test eax, eax
jne 0x5e8b28
jmp 0x5e8aad
cmp dword [esp + 0x7c], 0
jne 0x5e8a00
cmp dword [esp + 0x78], 0
je 0x5e8cc4
cmp dword [esp + 0x7c], 0xffffffff
jne 0x5e8a29
cmp dword [esp + 0x78], 0xffffffff
jne 0x5e8a29
cmp dword [esp + 0x84], 0x80000000
jne 0x5e8a29
cmp dword [esp + 0x80], 0
je 0x5e8b28
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 0x5e8aad
cmp dword [esp + 0x7c], 0
jne 0x5e8a66
cmp dword [esp + 0x78], 0
je 0x5e8cc4
cmp dword [esp + 0x7c], 0xffffffff
jne 0x5e8a84
cmp dword [esp + 0x78], 0xffffffff
jne 0x5e8a84
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.0x5e7b1b.89
mov dx, word [esp + 0x74]
or dx, word [esp + 0x76]
test dl, 1
je 0x5e8afb
jmp 0x5e8cc4
mov eax, dword [esp + 0x28]
call fcn.005e76b8
mov word [esp + 0x74], ax
mov eax, ebp
call fcn.005e76b8
mov word [esp + 0x76], ax
mov dx, word [esp + 0x74]
and dx, word [esp + 0x76]
test dl, 4
jne 0x5e894e
mov eax, dword [esp + 0x28]
call fcn.006465e0
fstp qword [esp + 0x88]
wait
mov eax, ebp
call fcn.006465e0
fstp qword [esp + 0x90]
wait
mov dl, byte [ebx]
sub dl, 0x6a
je 0x5e8b60
dec dl
je 0x5e8b7b
dec dl
je 0x5e8b96
dec dl
je 0x5e8bb1
jmp 0x5e8be8
fld qword [esp + 0x88]
fadd qword [esp + 0x90]
fstp qword [esp + 0x90]
wait
jmp 0x5e8c76
fld qword [esp + 0x88]
fsubr qword [esp + 0x90]
fstp qword [esp + 0x90]
wait
jmp 0x5e8c76
fld qword [esp + 0x88]
fmul qword [esp + 0x90]
fstp qword [esp + 0x90]
wait
jmp 0x5e8c76
fld qword [esp + 0x88]
fld dword [0x5f02f4]
fxch st(1)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x5e8cc4
fld qword [esp + 0x88]
fdivr qword [esp + 0x90]
fstp qword [esp + 0x90]
wait
jmp 0x5e8c76
mov eax, dword [esp + 0x28]
call fcn.00646580
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
mov eax, ebp
call fcn.00646580
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
cmp dword [esp + 0x7c], 0
jne 0x5e8c20
cmp dword [esp + 0x78], 0
je 0x5e8cc4
cmp dword [esp + 0x7c], 0xffffffff
jne 0x5e8c3e
cmp dword [esp + 0x78], 0xffffffff
jne 0x5e8c3e
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 + 0x734], eax
mov dword [esp + 0x738], edx
fild qword [esp + 0x734]
fstp qword [esp + 0x90]
wait
push dword [esp + 0x94]
push dword [esp + 0x94]
call fcn.00643d20
test eax, eax
je 0x5e8c8f
jmp 0x5e8cc4
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.0x5e7b1b.89
mov eax, dword [esp + 0x2c]
call fcn.0064698c
jmp case.0x5e7b1b.89
cmp dword [ebx + 4], 0
je case.0x5e7b1b.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.006469f8
jmp case.0x5e7b1b.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 0x5e8d46
mov eax, dword [esp + 0x2c]
call fcn.0064698c
jmp case.0x5e7b1b.89
mov eax, ebp
call fcn.00646580
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
mov eax, dword [esp + 0x28]
call fcn.00646580
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 0x5e8daa
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
and dword [esp + 0x98], eax
and dword [esp + 0x9c], edx
jmp 0x5e8f8a
xor ecx, ecx
mov cl, byte [esp + 0xb0]
cmp ecx, 0x67
jne 0x5e8dd9
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
or dword [esp + 0x98], eax
or dword [esp + 0x9c], edx
jmp 0x5e8f8a
cmp dword [esp + 0xac], 0
jne 0x5e8df1
cmp dword [esp + 0xa8], 0
je 0x5e8f8a
cmp dword [esp + 0xac], 0
jne 0x5e8e07
cmp dword [esp + 0xa8], 0
jae 0x5e8e5d
jmp 0x5e8e09
jge 0x5e8e5d
mov cl, 0xd1
sub cl, byte [esp + 0xb0]
mov byte [esp + 0xb0], cl
cmp dword [esp + 0xac], 0xffffffff
jne 0x5e8e2f
cmp dword [esp + 0xa8], 0xffffffc0
jbe 0x5e8e48
jmp 0x5e8e31
jle 0x5e8e48
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
neg eax
adc edx, 0
neg edx
jmp 0x5e8e4f
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 0x5e8e73
cmp dword [esp + 0xa8], 0x40
jb 0x5e8eb6
jmp 0x5e8e75
jl 0x5e8eb6
cmp dword [esp + 0x9c], 0
jne 0x5e8e8b
cmp dword [esp + 0x98], 0
jae 0x5e8e9b
jmp 0x5e8e8d
jge 0x5e8e9b
xor ecx, ecx
mov cl, byte [esp + 0xb0]
cmp ecx, 0x68
jne 0x5e8e9f
xor eax, eax
jmp 0x5e8ea2
or eax, 0xffffffff
cdq
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
jmp 0x5e8f8a
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 0x5e8f08
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 0x5e8f72
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 0x5e8f48
cmp dword [esp + 0x98], 0
jae 0x5e8f72
jmp 0x5e8f4a
jge 0x5e8f72
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.0x5e7b1b.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.00646710
mov ecx, dword [esp + 0x28]
mov eax, dword [ebx + 8]
cdq
add dword [ecx], eax
adc dword [ecx + 4], edx
jmp case.0x5e7b1b.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 0x5e903a
mov cl, byte [esp + 0xd]
mov dl, 0x43
mov eax, dword [esp + 0x28]
call fcn.005e7584
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x10], 4
jne 0x5e903a
cmp dword [ebx + 8], 0
jne 0x5e7f4b
mov esi, 0x14
jmp 0x5f010f
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.0x5e7b1b.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.0x5e7b1b.89
mov eax, dword [esp + 0x28]
call fcn.00646734
jmp case.0x5e7b1b.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 0x5e90ad
mov eax, dword [esp + 0x28]
call fcn.00646344
mov esi, eax
jmp 0x5e90af
xor esi, esi
test esi, esi
jne 0x5f010f
mov cl, byte [esp + 0xd]
mov dl, byte [ebx + 8]
mov eax, dword [esp + 0x28]
call fcn.006468c8
mov esi, eax
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.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 0x5e91c7
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 0x5e914a
cmp eax, dword [esp]
pop edx
pop eax
jae 0x5e916f
jmp 0x5e914e
pop edx
pop eax
jge 0x5e916f
xor ecx, ecx
mov cl, byte [ebx]
mov eax, dword [0x67e690]
cmp byte [eax + ecx], 0
je 0x5e9162
jmp 0x5e7f4b
mov dword [esp + 0x10], 1
jmp case.0x5e7b1b.89
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x28]
cmp edx, dword [ecx + 4]
jne 0x5e9184
cmp eax, dword [ecx]
jae 0x5e91a8
jmp 0x5e9186
jge 0x5e91a8
xor eax, eax
mov al, byte [ebx]
mov edx, dword [0x67e688]
cmp byte [edx + eax], 0
je 0x5e919b
jmp 0x5e7f4b
mov dword [esp + 0x10], 0xffffffff
jmp case.0x5e7b1b.89
xor ecx, ecx
mov cl, byte [ebx]
mov eax, dword [0x67e68c]
cmp byte [eax + ecx], 0
je 0x5e91bc
jmp 0x5e7f4b
xor edx, edx
mov dword [esp + 0x10], edx
jmp case.0x5e7b1b.89
mov cx, word [esp + 0xbe]
or cx, word [esp + 0xc0]
test cl, 1
je 0x5e924b
test byte [ebx + 2], 0x80
je 0x5e922e
mov ax, word [esp + 0xbe]
and ax, word [esp + 0xc0]
test al, 1
je 0x5e920e
test byte [esp + 0xc1], 1
jne 0x5e920e
xor edx, edx
mov dword [esp + 0xb4], edx
jmp 0x5e93b5
test byte [esp + 0xc0], 1
je 0x5e921d
or ecx, 0xffffffff
jmp 0x5e9222
mov ecx, 1
mov dword [esp + 0xb4], ecx
jmp 0x5e93b5
test byte [ebx + 2], 0x10
je 0x5e9239
jmp 0x5e7f4b
mov dword [esp + 0x10], 1
jmp case.0x5e7b1b.89
mov al, byte [ebx + 2]
and al, 0x47
mov byte [esp + 0xbc], al
cmp byte [esp + 0xbc], 0x43
jl 0x5e92c3
mov dx, word [esp + 0xbe]
or dx, word [esp + 0xc0]
test dl, 2
je 0x5e93a0
movzx ecx, word [esp + 0xbe]
and ecx, 0x2e
cmp ecx, 2
jne 0x5e92a1
xor edx, edx
mov eax, dword [esp + 0x28]
call fcn.005e751c
mov cx, word [ebp + 0x10]
mov word [esp + 0xc0], cx
movzx eax, word [esp + 0xc0]
and eax, 0x2e
cmp eax, 2
jne 0x5e93a0
xor edx, edx
mov eax, ebp
call fcn.005e751c
jmp 0x5e93a0
cmp byte [esp + 0xbc], 0x42
jne 0x5e93a0
mov dx, word [esp + 0xbe]
or dx, word [esp + 0xc0]
test dl, 2
je 0x5e93a0
test byte [esp + 0xbe], 2
je 0x5e9300
mov ecx, dword [esp + 0x28]
and word [ecx + 0x10], 0xffd3
jmp 0x5e9357
test byte [esp + 0xbe], 0x2c
je 0x5e9357
mov cl, 1
mov dl, byte [esp + 0xd]
mov eax, dword [esp + 0x28]
call fcn.006463b4
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 0x5e9357
mov cx, word [esp + 0xbe]
or cx, 2
mov word [esp + 0xc0], cx
test byte [esp + 0xc0], 2
je 0x5e9369
and word [ebp + 0x10], 0xffd3
jmp 0x5e93a0
test byte [esp + 0xc0], 0x2c
je 0x5e93a0
mov cl, 1
mov dl, byte [esp + 0xd]
mov eax, ebp
call fcn.006463b4
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.00633d68
mov dword [esp + 0xb4], eax
cmp dword [esp + 0xb4], 0
jge 0x5e93d6
xor ecx, ecx
mov cl, byte [ebx]
mov eax, dword [0x67e688]
xor edx, edx
mov dl, byte [eax + ecx]
mov dword [esp + 0xb8], edx
jmp 0x5e940c
cmp dword [esp + 0xb4], 0
jne 0x5e93f7
xor ecx, ecx
mov cl, byte [ebx]
mov eax, dword [0x67e68c]
xor edx, edx
mov dl, byte [eax + ecx]
mov dword [esp + 0xb8], edx
jmp 0x5e940c
xor ecx, ecx
mov cl, byte [ebx]
mov eax, dword [0x67e690]
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.0x5e7b1b.89
jmp 0x5e7f4b
cmp dword [esp + 0x10], 0
je 0x5e7f4b
jmp case.0x5e7b1b.89
test byte [ebx + 2], 1
jne 0x5e9471
xor edx, edx
mov dword [esp + 0xe0], edx
jmp 0x5e947e
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.0x5e7b1b.89
cmp dword [esp + 0xe0], 0
je 0x5e94cb
mov eax, dword [esp + 0xe0]
mov edx, dword [eax + ebp*4]
jmp 0x5e94cd
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.00633d68
mov dword [esp + 0x10], eax
cmp dword [esp + 0x10], 0
je 0x5e95ab
mov edx, dword [esp + 0xd0]
mov ecx, dword [edx + 0x10]
test byte [ecx + ebp], 2
je 0x5e9594
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 0x5e9590
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 0x5e9594
neg dword [esp + 0x10]
cmp dword [esp + 0xdc], 0
je case.0x5e7b1b.89
neg dword [esp + 0x10]
jmp case.0x5e7b1b.89
inc ebp
cmp ebp, dword [esp + 0xc4]
jl 0x5e94b5
jmp case.0x5e7b1b.89
cmp dword [esp + 0x10], 0
jge 0x5e95dc
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.0x5e7b1b.89
cmp dword [esp + 0x10], 0
jne 0x5e95fa
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.0x5e7b1b.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.0x5e7b1b.89
mov eax, dword [ebx + 4]
mov edx, 2
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.00646630
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.00646630
mov dword [esp + 0xe8], eax
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0x2c
jne 0x5e967b
mov ecx, dword [esp + 0xe4]
lea ecx, [ecx + ecx*2]
lea eax, [ecx + 0x678fd0]
mov edx, dword [esp + 0xe8]
xor ecx, ecx
mov cl, byte [eax + edx]
mov dword [esp + 0xe4], ecx
jmp 0x5e969d
mov eax, dword [esp + 0xe4]
lea eax, [eax + eax*2]
lea edx, [eax + 0x678fd9]
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 0x5e96d5
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.0x5e7b1b.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.0x5e7b1b.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.00646630
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.006469f8
jmp case.0x5e7b1b.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 0x5e9784
xor edx, edx
mov eax, dword [esp + 0x28]
call fcn.00646630
cmp eax, 1
sbb eax, eax
neg eax
cdq
push edx
push eax
mov eax, dword [esp + 0x34]
call fcn.006469f8
jmp case.0x5e7b1b.89
mov eax, dword [esp + 0x2c]
call fcn.0064698c
jmp case.0x5e7b1b.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.0064698c
mov edx, dword [esp + 0x28]
test byte [edx + 0x10], 1
jne case.0x5e7b1b.89
mov ecx, dword [esp + 0x2c]
mov word [ecx + 0x10], 4
mov eax, dword [esp + 0x28]
call fcn.00646580
not eax
mov ecx, dword [esp + 0x2c]
not edx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5e7b1b.89
mov edx, dword [esp]
cmp dword [edx + 0xd8], 0
je 0x5e9870
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 0x5e9847
jmp 0x5e7f4b
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 0x5e9883
mov eax, dword [esp]
mov edx, dword [eax + 0x68]
mov ecx, dword [edx + 4]
cmp ecx, dword [ebx + 4]
jne 0x5e9883
jmp 0x5e7f4b
mov eax, dword [esp]
mov edx, dword [eax + 0x68]
mov ecx, dword [edx + 4]
mov dword [ebx + 4], ecx
jmp case.0x5e7b1b.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.00646630
mov dword [esp + 0xf0], eax
cmp dword [esp + 0xf0], 0
jne 0x5e7f4b
jmp case.0x5e7b1b.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.00646630
cmp eax, 1
sbb ecx, ecx
neg ecx
mov dword [esp + 0xf4], ecx
cmp dword [esp + 0xf4], 0
jne 0x5e7f4b
jmp case.0x5e7b1b.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.0x5e7b1b.89
jmp 0x5e7f4b
cmp dword [ebx + 4], 0
jl 0x5e99c4
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 0x5e99af
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 0x5e9997
test byte [esp + 0x100], 1
je 0x5e998b
mov word [esp + 0xfc], 4
jmp 0x5e99e8
mov word [esp + 0xfc], 8
jmp 0x5e99e8
mov ecx, dword [esp + 0x100]
movzx ecx, byte [ecx + 0x678fe2]
mov word [esp + 0xfc], cx
jmp 0x5e99e8
mov ax, 1
mov ecx, dword [ebx + 0x10]
dec ecx
shl ax, cl
mov word [esp + 0xfc], ax
jmp 0x5e99e8
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.005e559c
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.0x5e7b1b.89
jmp 0x5e7f4b
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
mov edx, dword [esp + 0x24]
test byte [edx + eax*8 + 0x10], 1
jne 0x5e9a26
mov ecx, dword [ebx + 0xc]
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x24]
test byte [eax + ecx*8 + 0x10], 1
je 0x5e9a3d
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.0064698c
jmp case.0x5e7b1b.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.006469f8
jmp case.0x5e7b1b.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.0x5e7b1b.89
jmp 0x5e7f4b
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.0x5e7b1b.89
mov eax, dword [esp + 0x104]
cmp byte [eax + 2], 0
je case.0x5e7b1b.89
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.0064698c
jmp 0x5e7f4b
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 0x5e9b0d
mov edx, dword [esp + 0x108]
cmp byte [edx], 0
je 0x5e9b1b
mov eax, dword [esp + 0x2c]
call fcn.0064698c
jmp case.0x5e7b1b.89
mov edx, dword [esp + 0x108]
cmp byte [edx + 3], 0
je 0x5e9b3e
mov eax, dword [esp + 0x108]
call fcn.00633590
mov esi, eax
test esi, esi
jne 0x5f010f
mov eax, dword [esp + 0x108]
mov eax, dword [eax + 0x24]
call fcn.0062ad3c
test eax, eax
je 0x5e9b5f
mov eax, dword [esp + 0x2c]
call fcn.0064698c
jmp case.0x5e7b1b.89
mov edx, dword [esp + 0x108]
mov eax, dword [edx + 0x24]
call fcn.00629d4c
push edx
push eax
mov eax, dword [esp + 0x34]
call fcn.006469f8
jmp case.0x5e7b1b.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 0x5e9d59
cmp byte [ebp + 2], 0
je 0x5e9c23
xor edx, edx
mov dl, byte [ebp]
cmp edx, 3
jne 0x5e9bf9
cmp dword [ebp + 0x1c], 0
jle 0x5e9bf9
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 0x5e9cc3
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.0064698c
jmp case.0x5e7b1b.89
mov edx, dword [ebp + 0x24]
mov dword [esp + 0x110], edx
cmp byte [ebp + 3], 0
je 0x5e9c7c
cmp dword [ebp + 8], 0
je 0x5e9c69
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 0x5e9c69
mov ebp, dword [ebp + 0x20]
mov eax, dword [esp + 0x140]
dec eax
mov dword [esp + 0x10c], eax
jmp 0x5e9b94
mov eax, ebp
call fcn.00633590
mov esi, eax
test esi, esi
jne 0x5f010f
jmp 0x5e9ca2
mov eax, dword [esp + 0x110]
call fcn.0062667c
test eax, eax
je 0x5e9ca2
mov eax, ebp
call fcn.006335d0
mov esi, eax
test esi, esi
jne 0x5f010f
jmp 0x5e9b94
mov eax, dword [esp + 0x110]
call fcn.00629d8c
mov dword [ebp + 0x48], eax
lea edx, [ebp + 0x4c]
mov eax, dword [esp + 0x110]
call fcn.0062a2e8
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 0x5e9cec
mov dword [ebp + 0x2c], 1
jmp 0x5e9d02
mov eax, dword [ebp + 0x44]
mov edx, dword [esp + 0x114]
call fcn.0064583c
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 0x5e9d48
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 0x5ea2c8
mov edx, dword [esp + 0x114]
mov ecx, dword [edx]
cmp ecx, dword [ebp + 0x48]
jbe 0x5e9d7b
jmp 0x5ea2c8
mov eax, dword [ebp + 0x44]
mov dword [esp + 0x124], eax
jmp 0x5e9df3
mov eax, dword [ebp + 0x24]
call fcn.0062667c
test eax, eax
je 0x5e9d7b
mov eax, ebp
call fcn.006335d0
mov esi, eax
test esi, esi
jne 0x5f010f
jmp 0x5e9b94
movzx eax, word [ebp + 0x36]
cmp eax, dword [esp + 0x10c]
ja 0x5ea042
mov edx, dword [ebp + 0x2c]
mov ecx, dword [esp + 0x114]
cmp edx, dword [ecx]
jae 0x5e9fe6
cmp dword [ebp + 0x44], 0
jne 0x5e9de9
lea eax, [esp + 0x534]
mov ecx, 0x28
xor edx, edx
call fcn.005c83cc
lea ecx, [esp + 0x534]
mov eax, dword [esp + 0x114]
mov edx, dword [eax]
mov eax, dword [ebp + 0x24]
call fcn.00646e78
mov esi, eax
test esi, esi
jne 0x5f010f
mov eax, dword [esp + 0x53c]
mov dword [esp + 0x124], eax
jmp 0x5e9df3
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 0x5e9e95
inc dword [esp + 0x128]
mov al, byte [esp + 0x138]
call fcn.00633624
and eax, 0xff
cdq
add dword [esp + 0x130], eax
adc dword [esp + 0x134], edx
jmp 0x5e9ee1
lea edx, [esp + 0x138]
mov eax, dword [esp + 0x128]
call fcn.0064583c
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.0063360c
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 0x5e9f27
mov eax, dword [esp + 0x128]
cmp eax, dword [esp + 0x12c]
jb 0x5e9e47
mov edx, dword [esp + 0x128]
cmp edx, dword [esp + 0x12c]
jb 0x5e9f5e
mov ecx, dword [esp + 0x128]
cmp ecx, dword [esp + 0x12c]
ja 0x5e9f75
mov eax, dword [ebp + 0x48]
xor edx, edx
cmp edx, dword [esp + 0x134]
jne 0x5e9f75
cmp eax, dword [esp + 0x130]
jne 0x5e9f75
mov eax, dword [ebp + 0x48]
xor edx, edx
cmp edx, dword [esp + 0x134]
jne 0x5e9f73
cmp eax, dword [esp + 0x130]
jae 0x5e9fb5
mov ecx, dword [esp + 0x114]
cmp dword [ecx], 0
jne 0x5e9f9a
xor ecx, ecx
mov dword [esp + 0x11c], ecx
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x128], eax
jmp 0x5e9fb5
cmp dword [ebp + 0x44], 0
jne 0x5ea2c8
lea eax, [esp + 0x534]
call fcn.0064652c
jmp 0x5ea2c8
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 0x5e9fef
lea eax, [esp + 0x534]
call fcn.0064652c
jmp 0x5e9fef
xor edx, edx
mov dword [esp + 0x138], edx
movzx ecx, word [ebp + 0x36]
cmp ecx, dword [esp + 0x10c]
ja 0x5ea054
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 0x5ea02f
mov ecx, 0x2000
mov edx, dword [ebx + 0x10]
mov eax, dword [esp + 0x120]
call fcn.00646b24
jmp case.0x5e7b1b.89
mov eax, dword [esp + 0x120]
call fcn.0064698c
jmp case.0x5e7b1b.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 0x5ea081
mov eax, dword [esp + 0x120]
call fcn.0064698c
mov edx, dword [esp + 0x114]
mov ecx, dword [esp + 0x10c]
mov ecx, dword [edx + ecx*4 + 4]
cmp ecx, dword [ebp + 0x4c]
ja 0x5ea1e2
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 0x5ea0e0
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x138]
mov eax, dword [esp + 0x124]
call fcn.006337e8
jmp case.0x5e7b1b.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 0x5ea164
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x78]
cmp eax, dword [esp + 0x118]
jl 0x5f029c
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.00646110
test eax, eax
jne 0x5f02b8
jmp 0x5ea178
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 + 0x678fee]
mov word [eax + 0x10], cx
jmp case.0x5e7b1b.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 0x5ea236
xor eax, eax
mov al, byte [esp + 0x144]
cmp eax, 0x80
je 0x5ea246
cmp dword [esp + 0x138], 0xc
jb 0x5ea236
test byte [esp + 0x138], 1
je 0x5ea246
xor ecx, ecx
mov cl, byte [esp + 0x144]
cmp ecx, 0xc0
je 0x5ea246
mov eax, dword [esp + 0x138]
call fcn.0063360c
test eax, eax
jne 0x5ea263
mov eax, 0x67e936
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x138]
call fcn.006337e8
jmp case.0x5e7b1b.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.005e7798
mov esi, eax
test esi, esi
je case.0x5e7b1b.89
cmp esi, 7
je 0x5f02b8
cmp esi, 0x12
je 0x5f029c
jmp 0x5f010f
mov eax, dword [esp + 4]
cmp dword [eax + 0xc], 0
jle 0x5ea2ed
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.0x5e7b1b.89
mov eax, 0xc81
call fcn.005ffe18
mov esi, eax
jmp 0x5f010f
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 0x5ea48f
lea eax, [ebp + ebp*2]
mov edx, dword [esp + 0x14c]
test byte [edx + eax*4 + 0xa], 0x60
je 0x5ea369
lea ecx, [ebp + ebp*2]
mov eax, dword [esp + 0x14c]
test byte [eax + ecx*4 + 0xa], 0x20
jne 0x5ea48e
cmp dword [ebx + 0xc], 0
je 0x5ea369
add dword [esp + 0x28], 0x28
jmp 0x5ea48e
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.005e7584
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x10], 1
jne 0x5ea489
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 0x5ea3bd
dec ecx
sub ecx, 2
jb 0x5ea3d0
je 0x5ea3f6
dec ecx
je 0x5ea3e3
jmp 0x5ea489
mov eax, dword [esp + 0x28]
test byte [eax + 0x10], 0x10
je 0x5ea4a7
jmp 0x5ea489
mov edx, dword [esp + 0x28]
test byte [edx + 0x10], 4
je 0x5ea4a7
jmp 0x5ea489
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x10], 2
je 0x5ea4a7
jmp 0x5ea489
mov eax, dword [esp + 0x28]
test byte [eax + 0x10], 4
je 0x5ea47b
mov edx, dword [esp + 0x28]
cmp dword [edx + 4], 0x7fff
jne 0x5ea414
cmp dword [edx], 0xffffffff
ja 0x5ea441
jmp 0x5ea416
jg 0x5ea441
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 4], 0xffff8000
jne 0x5ea42a
cmp dword [ecx], 0
jb 0x5ea441
jmp 0x5ea42c
jl 0x5ea441
mov eax, dword [esp + 0x28]
or word [eax + 0x10], 0x20
mov edx, dword [esp + 0x28]
and word [edx + 0x10], 0xfffb
jmp 0x5ea489
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x73c], eax
mov dword [esp + 0x740], edx
fild qword [esp + 0x73c]
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 0x5ea489
mov ecx, dword [esp + 0x28]
test byte [ecx + 0x10], 0x28
jne 0x5ea489
jmp 0x5ea4a7
add dword [esp + 0x28], 0x28
inc ebp
mov eax, dword [esp + 0x148]
movsx edx, word [eax + 0x22]
cmp ebp, edx
jl 0x5ea331
jmp case.0x5e7b1b.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 + 0x67e808]
push ecx
mov eax, dword [esp + 0x34]
call fcn.005e7994
push eax
push str.cannot_store__s_value_in__s_column__s._s
mov edx, dword [esp + 0x14]
push edx
call fcn.00630b98
add esp, 0x18
mov esi, 0xc13
jmp 0x5f010f
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.005e7584
cmp byte [ebp], 0x45
jne 0x5ea5b4
mov edx, dword [esp + 0x28]
test byte [edx + 0x10], 4
je 0x5ea5b4
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 4], 0x7fff
jne 0x5ea54f
cmp dword [ecx], 0xffffffff
ja 0x5ea57c
jmp 0x5ea551
jg 0x5ea57c
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 4], 0xffff8000
jne 0x5ea565
cmp dword [ecx], 0
jb 0x5ea57c
jmp 0x5ea567
jl 0x5ea57c
mov eax, dword [esp + 0x28]
or word [eax + 0x10], 0x20
mov edx, dword [esp + 0x28]
and word [edx + 0x10], 0xfffb
jmp 0x5ea5b4
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x744], eax
mov dword [esp + 0x748], edx
fild qword [esp + 0x744]
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.0x5e7b1b.89
add dword [esp + 0x28], 0x28
jmp 0x5ea517
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 0x5ea6bb
mov ebp, dword [esp + 0x174]
mov eax, dword [esp + 0x180]
mov dl, byte [eax]
mov cl, byte [esp + 0xd]
mov eax, ebp
call fcn.005e7584
mov edx, dword [esp + 0x180]
cmp byte [edx], 0x45
jne 0x5ea6a5
test byte [ebp + 0x10], 4
je 0x5ea6a5
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 0x5ea674
mov ebp, dword [esp + 0x178]
test byte [ebp + 0x10], 1
je 0x5ea6e8
test byte [ebp + 0x11], 4
je 0x5ea6d7
mov dword [ebp + 0x1c], 0xa
jmp 0x5ea6dc
xor eax, eax
mov dword [ebp + 0x1c], eax
inc dword [esp + 0x158]
jmp 0x5ea9de
test byte [ebp + 0x10], 0x24
je 0x5ea901
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 0x5ea71c
cmp dword [esp + 0x190], 0
jae 0x5ea740
jmp 0x5ea71e
jge 0x5ea740
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 0x5ea75c
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 0x5ea775
cmp dword [esp + 0x198], 0x7f
ja 0x5ea7dd
mov eax, dword [esp + 0x190]
mov edx, dword [esp + 0x194]
and eax, 1
xor edx, edx
cmp edx, dword [esp + 0x194]
jne 0x5ea7c1
cmp eax, dword [esp + 0x190]
jne 0x5ea7c1
mov ecx, dword [esp]
xor eax, eax
mov al, byte [ecx + 0x95]
cmp eax, 4
jl 0x5ea7c1
mov eax, dword [esp + 0x198]
add eax, 8
mov dword [ebp + 0x1c], eax
jmp 0x5ea9de
add dword [esp + 0x150], 1
adc dword [esp + 0x154], 0
mov dword [ebp + 0x1c], 1
jmp 0x5ea9de
cmp dword [esp + 0x19c], 0
jne 0x5ea7f2
cmp dword [esp + 0x198], 0x7fff
ja 0x5ea810
add dword [esp + 0x150], 2
adc dword [esp + 0x154], 0
mov dword [ebp + 0x1c], 2
jmp 0x5ea9de
cmp dword [esp + 0x19c], 0
jne 0x5ea825
cmp dword [esp + 0x198], 0x7fffff
ja 0x5ea843
add dword [esp + 0x150], 3
adc dword [esp + 0x154], 0
mov dword [ebp + 0x1c], 3
jmp 0x5ea9de
cmp dword [esp + 0x19c], 0
jne 0x5ea858
cmp dword [esp + 0x198], 0x7fffffff
ja 0x5ea876
add dword [esp + 0x150], 4
adc dword [esp + 0x154], 0
mov dword [ebp + 0x1c], 4
jmp 0x5ea9de
cmp dword [esp + 0x19c], 0x7fff
jne 0x5ea88b
cmp dword [esp + 0x198], 0xffffffff
ja 0x5ea8a9
add dword [esp + 0x150], 6
adc dword [esp + 0x154], 0
mov dword [ebp + 0x1c], 5
jmp 0x5ea9de
add dword [esp + 0x150], 8
adc dword [esp + 0x154], 0
test byte [ebp + 0x10], 0x20
je 0x5ea8f5
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
mov dword [esp + 0x74c], eax
mov dword [esp + 0x750], edx
fild qword [esp + 0x74c]
fstp qword [ebp]
wait
and word [ebp + 0x10], 0xffdf
or word [ebp + 0x10], 8
mov dword [ebp + 0x1c], 7
jmp 0x5ea9de
mov dword [ebp + 0x1c], 6
jmp 0x5ea9de
test byte [ebp + 0x10], 8
je 0x5ea92a
inc dword [esp + 0x158]
add dword [esp + 0x150], 8
adc dword [esp + 0x154], 0
mov dword [ebp + 0x1c], 7
jmp 0x5ea9de
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 0x5ea9a6
mov edx, dword [ebp]
add edx, edx
add dword [esp + 0x170], edx
cmp dword [esp + 0x154], 0
jne 0x5ea977
cmp dword [esp + 0x150], 0
je 0x5ea994
mov eax, ebp
call fcn.00646344
test eax, eax
jne 0x5f02b8
mov edx, dword [ebp]
add dword [esp + 0x184], edx
jmp 0x5ea9a6
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.006458bc
add dword [esp + 0x158], eax
mov ecx, dword [esp + 0x170]
mov dword [ebp + 0x1c], ecx
cmp ebp, dword [esp + 0x174]
je 0x5ea9ef
sub ebp, 0x28
jmp 0x5ea6c2
cmp dword [esp + 0x158], 0x7e
jg 0x5eaa02
inc dword [esp + 0x158]
jmp 0x5eaa45
mov eax, dword [esp + 0x158]
cdq
push edx
push eax
call fcn.006458bc
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.006458bc
cmp eax, dword [esp + 0x16c]
jle 0x5eaa45
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 0x5eaa9e
cmp eax, dword [esp]
pop edx
pop eax
jb 0x5eaab2
jmp 0x5eaaa2
pop edx
pop eax
jl 0x5eaab2
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x20]
mov dword [eax + 8], ecx
jmp 0x5eab0e
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 0x5eaaea
cmp eax, dword [esp]
pop edx
pop eax
jae 0x5eaaf3
jmp 0x5f029c
pop edx
pop eax
jge 0x5eaaf3
jmp 0x5f029c
mov eax, dword [esp + 0x15c]
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.006461f8
test eax, eax
je 0x5eab0e
jmp 0x5f02b8
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 0x5eab38
cmp dword [esp + 0x164], 0
je 0x5eab51
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 0x5eab9a
mov cl, byte [esp + 0x158]
mov eax, dword [esp + 0x188]
mov byte [eax], cl
inc dword [esp + 0x188]
jmp 0x5eabb7
mov eax, dword [esp + 0x158]
cdq
push edx
push eax
mov eax, dword [esp + 0x190]
call fcn.006455bc
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 0x5eae13
mov dl, byte [esp + 0x170]
mov ecx, dword [esp + 0x188]
mov byte [ecx], dl
inc dword [esp + 0x188]
cmp dword [esp + 0x170], 0
jne 0x5eabfc
jmp 0x5eaea5
cmp dword [esp + 0x170], 7
jne 0x5eac1b
lea eax, [esp + 0x1a0]
mov ecx, 8
mov edx, ebp
call fcn.005c83bc
jmp 0x5eac2f
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 + 0x67ccb1]
mov dword [esp + 0x184], edx
mov ecx, dword [esp + 0x184]
cmp ecx, 6
ja case.0x5eac51.0
jmp dword [ecx*4 + 0x5eac58]
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 0x5eaea5
cmp dword [esp + 0x170], 0x80
jae 0x5eae65
mov cl, byte [esp + 0x170]
mov eax, dword [esp + 0x188]
mov byte [eax], cl
inc dword [esp + 0x188]
cmp dword [esp + 0x170], 0xe
jb 0x5eaea5
cmp dword [ebp + 0xc], 0
jle 0x5eaea5
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 0x5eaea5
mov eax, dword [esp + 0x170]
xor edx, edx
push edx
push eax
mov eax, dword [esp + 0x190]
call fcn.006455bc
add dword [esp + 0x188], eax
cmp dword [ebp + 0xc], 0
je 0x5eaea5
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.0x5e7b1b.89
add ebp, 0x28
jmp 0x5eabbe
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 0x5eaef2
mov eax, dword [esp + 0x1b0]
call fcn.0062ad48
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], edx
jmp 0x5eaf29
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.0062f6ec
mov esi, eax
test esi, esi
jne 0x5f010f
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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 0x5e7e18
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 0x5eb0c0
mov ecx, dword [esp + 8]
cmp dword [ecx + 0xc0], 0
jle 0x5eaf9e
push str.cannot_open_savepoint___SQL_statements_in_progress
mov eax, dword [esp + 4]
push eax
call fcn.00630b98
add esp, 8
mov esi, 5
jmp 0x5eb40b
mov eax, dword [esp + 0x1b8]
call fcn.00643db4
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.006080d0
mov esi, eax
test esi, esi
jne 0x5f010f
mov eax, dword [esp + 0x1bc]
add eax, 0x21
xor edx, edx
push edx
push eax
mov eax, dword [esp + 0x10]
call fcn.0064b8a4
mov dword [esp + 0x1c0], eax
cmp dword [esp + 0x1c0], 0
je 0x5eb40b
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 0x5eb052
mov ecx, dword [esp + 8]
mov byte [ecx + 0x55], 0
mov eax, dword [esp + 8]
mov byte [eax + 0x5d], 1
jmp 0x5eb05c
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 0x5eb40b
xor edx, edx
mov dword [esp + 0x1c8], edx
mov ecx, dword [esp + 8]
mov ebp, dword [ecx + 0x1f4]
jmp 0x5eb0df
inc dword [esp + 0x1c8]
mov ebp, dword [ebp + 0x18]
test ebp, ebp
je 0x5eb0f6
mov eax, dword [ebp]
mov edx, dword [esp + 0x1b8]
call fcn.006440e4
test eax, eax
jne 0x5eb0d5
test ebp, ebp
jne 0x5eb11e
mov ecx, dword [esp + 0x1b8]
push ecx
push str.no_such_savepoint:__s
mov ecx, dword [esp + 8]
push ecx
call fcn.00630b98
add esp, 0xc
mov esi, 1
jmp 0x5eb40b
mov eax, dword [esp + 8]
cmp dword [eax + 0xc0], 0
jle 0x5eb151
cmp dword [esp + 0x1b4], 1
jne 0x5eb151
push str.cannot_release_savepoint___SQL_statements_in_progress
mov edx, dword [esp + 4]
push edx
call fcn.00630b98
add esp, 8
mov esi, 5
jmp 0x5eb40b
cmp dword [ebp + 0x18], 0
jne 0x5eb161
mov eax, dword [esp + 8]
cmp byte [eax + 0x5d], 0
jne 0x5eb165
xor edx, edx
jmp 0x5eb16a
mov edx, 1
mov dword [esp + 0x1d0], edx
cmp dword [esp + 0x1d0], 0
je 0x5eb206
cmp dword [esp + 0x1b4], 1
jne 0x5eb206
mov edx, 1
mov eax, dword [esp]
call fcn.00632ed0
mov esi, eax
test eax, eax
je 0x5eb1a1
jmp 0x5f01fe
mov edx, dword [esp + 8]
mov byte [edx + 0x55], 1
mov eax, dword [esp]
call fcn.00632f50
cmp eax, 5
jne 0x5eb1e2
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 0x5f01fe
mov ecx, dword [esp]
mov esi, dword [ecx + 0x24]
test esi, esi
je 0x5eb1f9
mov eax, dword [esp + 8]
mov byte [eax + 0x55], 0
jmp 0x5eb31d
mov edx, dword [esp + 8]
mov byte [edx + 0x5d], 0
jmp 0x5eb31d
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 0x5eb299
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 0x5eb287
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.0062993c
mov esi, eax
test esi, esi
jne 0x5f010f
inc dword [esp + 0x1cc]
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x14]
cmp edx, dword [esp + 0x1cc]
jg 0x5eb249
jmp 0x5eb2a2
xor ecx, ecx
mov dword [esp + 0x1d4], ecx
xor ecx, ecx
mov dword [esp + 0x1cc], ecx
jmp 0x5eb2e7
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.00629ad0
mov esi, eax
test esi, esi
je 0x5eb2e0
jmp 0x5f010f
inc dword [esp + 0x1cc]
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x14]
cmp edx, dword [esp + 0x1cc]
jg 0x5eb2ad
cmp dword [esp + 0x1d4], 0
je 0x5eb31d
xor edx, edx
mov eax, dword [esp + 8]
call fcn.00634b24
mov eax, dword [esp + 8]
call fcn.005cdfbc
mov edx, dword [esp + 8]
or dword [edx + 0x18], 1
test esi, esi
jne 0x5f010f
jmp 0x5eb366
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.0064b5f4
mov edx, dword [esp + 8]
dec dword [edx + 0x200]
mov ecx, dword [esp + 8]
cmp ebp, dword [ecx + 0x1f4]
jne 0x5eb327
cmp dword [esp + 0x1b4], 1
jne 0x5eb3aa
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.0064b5f4
cmp dword [esp + 0x1d0], 0
jne 0x5eb3d6
mov edx, dword [esp + 8]
dec dword [edx + 0x200]
jmp 0x5eb3d6
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 0x5eb3ea
cmp dword [esp + 0x1b4], 2
jne 0x5eb40b
mov ecx, dword [esp + 0x1c8]
mov edx, dword [esp + 0x1b4]
mov eax, dword [esp + 8]
call fcn.006080d0
mov esi, eax
test esi, esi
jne 0x5f010f
test esi, esi
jne 0x5f010f
mov eax, dword [esp]
xor edx, edx
mov dl, byte [eax + 0x97]
cmp edx, 3
jne case.0x5e7b1b.89
mov esi, 0x65
jmp 0x5f01fe
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 0x5eb547
cmp dword [esp + 0x1dc], 0
je 0x5eb481
mov edx, 0x204
mov eax, dword [esp + 8]
call fcn.005fe1f0
mov ecx, dword [esp + 8]
mov byte [ecx + 0x55], 1
jmp 0x5eb4de
cmp dword [esp + 0x1d8], 0
je 0x5eb4b6
mov eax, dword [esp + 8]
cmp dword [eax + 0xc0], 0
jle 0x5eb4b6
push str.cannot_commit_transaction___SQL_statements_in_progress
mov edx, dword [esp + 4]
push edx
call fcn.00630b98
add esp, 8
mov esi, 5
jmp 0x5f010f
mov edx, 1
mov eax, dword [esp]
call fcn.00632ed0
mov esi, eax
test eax, eax
je 0x5eb4d0
jmp 0x5f01fe
mov dl, byte [esp + 0x1d8]
mov ecx, dword [esp + 8]
mov byte [ecx + 0x55], dl
mov eax, dword [esp]
call fcn.00632f50
cmp eax, 5
jne 0x5eb51f
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 0x5f01fe
mov eax, dword [esp + 8]
call fcn.005fddd8
mov edx, dword [esp]
cmp dword [edx + 0x24], 0
jne 0x5eb53b
mov esi, 0x65
jmp 0x5f01fe
mov esi, 1
jmp 0x5f01fe
cmp dword [esp + 0x1d8], 0
jne 0x5eb558
mov eax, str.cannot_start_a_transaction_within_a_transaction
jmp 0x5eb56e
cmp dword [esp + 0x1dc], 0
je 0x5eb569
mov eax, str.cannot_rollback___no_transaction_is_active
jmp 0x5eb56e
mov eax, str.cannot_commit___no_transaction_is_active
push eax
mov edx, dword [esp + 4]
push edx
call fcn.00630b98
add esp, 8
mov esi, 1
jmp 0x5f010f
xor eax, eax
mov dword [esp + 0x1e8], eax
cmp dword [ebx + 8], 0
je 0x5eb5e5
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 0x5eb5b3
cmp eax, 0
je 0x5eb5e5
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 0x5eb5cf
cmp eax, 0
je 0x5eb5db
mov esi, 8
jmp 0x5f010f
mov esi, 0xb
jmp 0x5f010f
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 0x5eb72a
lea ecx, [esp + 0x1e8]
mov edx, dword [ebx + 8]
mov eax, dword [esp + 0x1e0]
call fcn.00628f38
mov esi, eax
test esi, esi
je 0x5eb66a
mov eax, esi
and eax, 0xff
cmp eax, 5
jne 0x5f010f
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 0x5f01fe
mov ecx, dword [esp]
test byte [ecx + 0x98], 0x20
je 0x5eb72a
cmp dword [ebx + 8], 0
je 0x5eb72a
mov ecx, dword [esp + 8]
cmp byte [ecx + 0x55], 0
je 0x5eb69f
mov eax, dword [esp + 8]
cmp dword [eax + 0xbc], 1
jle 0x5eb72a
mov edx, dword [esp]
cmp dword [edx + 0x30], 0
jne 0x5eb6cc
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.006080d0
mov esi, eax
test esi, esi
jne 0x5eb6f8
mov eax, dword [esp]
mov edx, dword [eax + 0x30]
mov eax, dword [esp + 0x1e0]
call fcn.00629aa4
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 0x5eb7cd
cmp word [ebx + 2], 0
je 0x5eb7cd
mov ecx, dword [esp + 0x1e8]
cmp ecx, dword [ebx + 0xc]
jne 0x5eb75b
mov eax, dword [esp + 0x1e4]
mov edx, dword [eax + 0xc]
mov ecx, dword [edx + 4]
cmp ecx, dword [ebx + 0x10]
je 0x5eb7cd
mov eax, dword [esp]
mov edx, dword [eax + 0x7c]
mov eax, dword [esp + 8]
call fcn.0064b5f4
mov edx, 0x6791c9
mov eax, dword [esp + 8]
call fcn.0064ba9c
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 0x5eb7a6
mov edx, dword [ebx + 4]
mov eax, dword [esp + 8]
call fcn.005cdf5c
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 0x5f010f
jmp case.0x5e7b1b.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.0062f640
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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.0x5e7b1b.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.0062f68c
cmp dword [ebx + 8], 1
mov esi, eax
jne 0x5eb898
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.005f0c54
jmp 0x5eb8ae
cmp dword [ebx + 8], 2
jne 0x5eb8ae
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 0x5eb8c9
xor edx, edx
mov eax, dword [esp + 8]
call fcn.00634b24
mov edx, dword [esp]
and byte [edx + 0x98], 0xfc
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.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.0x5e7b1b.112
mov eax, dword [ebp + 0x30]
cmp eax, dword [ebx + 8]
jne case.0x5e7b1b.112
mov eax, dword [ebp + 0x24]
call fcn.00626560
jmp 0x5eba91
mov edx, dword [esp]
mov cl, byte [edx + 0x98]
and ecx, 3
cmp ecx, 1
jne 0x5eb916
mov esi, 0x204
jmp 0x5f010f
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 0x5eb9b1
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 0x5eb9ba
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 0x5eb9ba
xor edx, edx
mov dword [esp + 0x20c], edx
test byte [ebx + 2], 0x10
je 0x5eb9e3
mov ebp, dword [esp + 0x204]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
mov eax, ebp
call fcn.00646710
mov eax, dword [ebp]
mov dword [esp + 0x204], eax
cmp byte [ebx + 1], 0xf8
jne 0x5eba07
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 0x5eba17
cmp byte [ebx + 1], 0xfd
jne 0x5eba17
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.005e73ac
mov ebp, eax
test ebp, ebp
je 0x5f02b8
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.00629c3c
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.006266d0
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.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.005e73ac
test eax, eax
je 0x5f02b8
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.00629c3c
mov esi, eax
jmp case.0x5e7b1b.89
cmp dword [ebx + 0xc], 0
jle 0x5ebb94
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], 0x678ffb
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov ebp, dword [ecx + eax*4]
test ebp, ebp
je 0x5ebbda
test byte [ebp + 5], 8
jne 0x5ebbda
movsx eax, word [ebp + 0x34]
cmp eax, dword [ebx + 8]
jl 0x5ebbda
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.0062f3d0
mov esi, eax
jmp 0x5ebcd8
push 0
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 4]
call fcn.005e73ac
mov ebp, eax
test ebp, ebp
je 0x5f02b8
or byte [ebp + 5], 1
lea eax, [ebp + 8]
mov ecx, dword [0x678ff4]
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.00627f9c
mov esi, eax
test esi, esi
jne 0x5ebcd8
mov eax, dword [ebp + 8]
xor ecx, ecx
mov edx, 1
call fcn.00628f38
mov esi, eax
test esi, esi
jne 0x5ebcae
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x21c], eax
mov dword [ebp + 0x28], eax
test eax, eax
je 0x5ebc89
movzx ecx, word [ebx + 2]
or ecx, 2
lea edx, [ebp + 0x30]
mov eax, dword [ebp + 8]
call fcn.0062f1c4
mov esi, eax
test esi, esi
jne 0x5ebc83
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.00629c3c
mov esi, eax
mov byte [ebp + 4], 0
jmp 0x5ebcae
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.00629c3c
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 0x5ebcd8
mov eax, dword [ebp + 8]
call fcn.006285a4
test esi, esi
jne 0x5f010f
mov byte [ebp + 2], 1
jmp case.0x5e7b1b.89
push 1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 4]
call fcn.005e73ac
mov dword [esp + 0x220], eax
cmp dword [esp + 0x220], 0
je 0x5f02b8
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.0063588c
mov esi, eax
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.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.0x5e7b1b.89
cmp eax, 0
jne case.0x5e7b1b.89
jmp 0x5e7f4b
push 3
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 4]
call fcn.005e73ac
mov dword [esp + 0x228], eax
cmp dword [esp + 0x228], 0
je 0x5f02b8
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.00626688
mov edx, dword [esp + 0x228]
mov dword [edx + 0x24], eax
jmp case.0x5e7b1b.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.00632764
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.0x5e7b1b.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 0x5ebfcc
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 0x5ebe93
xor edx, edx
mov eax, ebp
call fcn.005e751c
mov eax, ebp
call fcn.00646580
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 0x5ebf77
test byte [esp + 0x24a], 8
jne 0x5ebf1c
test byte [esp + 0x24a], 1
jne 0x5e7f4b
cmp dword [esp + 0x230], 0x17
jl 0x5ebef7
jmp 0x5e7f4b
lea edx, [esp + 0x22c]
mov eax, dword [esp + 0x234]
mov eax, dword [eax + 0x24]
call fcn.0062a5e8
mov esi, eax
test esi, esi
jne 0x5f010f
jmp 0x5ec180
push dword [esp + 0x240]
push dword [esp + 0x240]
push dword [ebp + 4]
push dword [ebp]
call fcn.00633c2c
mov dword [esp + 0x24c], eax
cmp dword [esp + 0x24c], 0
jle 0x5ebf59
test byte [esp + 0x230], 1
jne 0x5ebf77
dec dword [esp + 0x230]
jmp 0x5ebf77
cmp dword [esp + 0x24c], 0
jge 0x5ebf77
mov ecx, dword [esp + 0x230]
and ecx, 1
dec ecx
jne 0x5ebf77
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.0062a600
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 0x5ec094
jmp 0x5f010f
mov ecx, dword [esp + 0x234]
mov edx, 2
mov eax, dword [ecx + 0x24]
call fcn.00630714
test eax, eax
je 0x5ebfef
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 + 0x55c], eax
mov dx, word [esp + 0x238]
mov word [esp + 0x570], dx
mov ecx, dword [esp + 0x230]
add ecx, 0xffffffeb
test cl, 1
je 0x5ec02e
or eax, 0xffffffff
jmp 0x5ec030
mov al, 1
mov byte [esp + 0x572], 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 + 0x560], edx
lea edx, [esp + 0x55c]
mov byte [esp + 0x576], 0
mov eax, dword [esp + 0x234]
mov eax, dword [eax + 0x24]
call fcn.0062a958
mov esi, eax
test esi, esi
je 0x5ec07b
jmp 0x5f010f
cmp dword [esp + 0x244], 0
je 0x5ec094
cmp byte [esp + 0x576], 0
jne 0x5ec094
jmp 0x5ec180
cmp dword [esp + 0x230], 0x17
jl 0x5ec10d
cmp dword [esp + 0x22c], 0
jl 0x5ec0bc
cmp dword [esp + 0x22c], 0
jne 0x5ec102
cmp dword [esp + 0x230], 0x18
jne 0x5ec102
xor eax, eax
mov dword [esp + 0x22c], eax
mov edx, dword [esp + 0x234]
mov eax, dword [edx + 0x24]
xor edx, edx
call fcn.0062aec0
mov esi, eax
test esi, esi
je 0x5ec180
cmp esi, 0x65
jne 0x5f010f
mov dword [esp + 0x22c], 1
xor esi, esi
jmp 0x5ec180
xor eax, eax
mov dword [esp + 0x22c], eax
jmp 0x5ec180
cmp dword [esp + 0x22c], 0
jg 0x5ec12b
cmp dword [esp + 0x22c], 0
jne 0x5ec16a
cmp dword [esp + 0x230], 0x15
jne 0x5ec16a
xor edx, edx
mov dword [esp + 0x22c], edx
xor edx, edx
mov ecx, dword [esp + 0x234]
mov eax, dword [ecx + 0x24]
call fcn.0062aff4
mov esi, eax
test esi, esi
je 0x5ec180
cmp esi, 0x65
jne 0x5f010f
mov dword [esp + 0x22c], 1
xor esi, esi
jmp 0x5ec180
mov eax, dword [esp + 0x234]
mov eax, dword [eax + 0x24]
call fcn.0062ad3c
mov dword [esp + 0x22c], eax
cmp dword [esp + 0x22c], 0
je 0x5ec194
jmp 0x5e7f4b
cmp dword [esp + 0x244], 0
je case.0x5e7b1b.89
add ebx, 0x28
jmp case.0x5e7b1b.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.00629d1c
test eax, eax
jne 0x5ec1d5
jmp case.0x5e7b1b.89
mov edx, dword [ebx + 4]
mov dword [esp + 0x258], edx
mov ecx, dword [esp + 0x250]
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x57c], ecx
mov ax, word [ebx + 0x38]
mov word [esp + 0x590], ax
mov byte [esp + 0x592], 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 + 0x580], edx
mov dword [esp + 0x254], ecx
lea eax, [esp + 0x254]
push eax
lea ecx, [esp + 0x580]
mov edx, dword [esp + 0x254]
mov eax, dword [esp + 0xc]
call fcn.00634a58
mov esi, eax
test esi, esi
jne 0x5f010f
cmp dword [esp + 0x254], 0
jle 0x5ec263
cmp word [ebx + 2], 0
jne 0x5ec263
add ebx, 0x28
jmp 0x5e7f4b
cmp dword [esp + 0x254], 0
jl 0x5ec272
jmp 0x5e7f4b
cmp dword [esp + 0x258], 0
jg 0x5ec281
jmp case.0x5e7b1b.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.0062aec0
mov esi, eax
test esi, esi
je 0x5ec221
cmp esi, 0x65
jne 0x5f010f
xor esi, esi
jmp 0x5ec25b
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 0x5ec302
mov ecx, dword [esp + 0x25c]
mov ax, word [ebx + 8]
mov word [ecx + 6], ax
jmp case.0x5e7b1b.89
mov edx, dword [esp + 0x25c]
movzx ecx, word [edx + 6]
cmp ecx, dword [ebx + 0xc]
jle case.0x5e7b1b.89
mov eax, dword [esp + 0x25c]
mov dx, word [ebx + 0xc]
mov word [eax + 6], dx
jmp case.0x5e7b1b.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.0x5e7b1b.9
mov eax, dword [esp + 0x260]
cmp byte [eax + 2], 0
je case.0x5e7b1b.89
jmp case.0x5e7b1b.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.0x5e7b1b.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 + 0x5a0], ecx
mov ax, word [ebx + 0x10]
mov word [esp + 0x5b0], ax
movzx edx, word [esp + 0x5b0]
test edx, edx
jle 0x5ec40c
mov ecx, dword [esp + 0x270]
lea edx, [esp + 0x59c]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x59c], eax
mov byte [esp + 0x5b2], 0
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x270]
add ecx, 0x1c
mov eax, dword [eax + 0x24]
call fcn.0062a958
mov esi, eax
jmp 0x5ec4bf
mov eax, dword [esp + 0x5a0]
test byte [eax + 0x11], 4
je 0x5ec429
mov eax, dword [esp + 0x5a0]
call fcn.00646344
mov esi, eax
jmp 0x5ec42b
xor esi, esi
test esi, esi
jne 0x5f02b8
mov eax, dword [esp + 0x270]
mov eax, dword [eax + 0x28]
call fcn.00633974
mov dword [esp + 0x274], eax
cmp dword [esp + 0x274], 0
je 0x5f02b8
mov edx, dword [esp + 0x274]
push edx
mov eax, dword [esp + 0x5a4]
mov ecx, dword [esp + 0x5a4]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x274]
mov ecx, dword [ecx + 8]
mov eax, dword [eax + 0x28]
call fcn.006339b0
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.0062a958
mov esi, eax
mov edx, dword [esp + 0x274]
mov eax, dword [esp + 8]
call fcn.0064b550
test esi, esi
je 0x5ec4c8
jmp 0x5f010f
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 0x5ec526
cmp dword [esp + 0x268], 0
jne 0x5e7f4b
jmp case.0x5e7b1b.89
cmp dword [esp + 0x268], 0
jne 0x5ec535
jmp 0x5e7f4b
xor eax, eax
mov al, byte [ebx]
cmp eax, 0x1b
jne 0x5ec57e
xor edx, edx
mov dword [esp + 0x26c], edx
jmp 0x5ec56d
mov ecx, dword [esp + 0x26c]
lea ecx, [ecx + ecx*4]
mov eax, dword [esp + 0x5a0]
test byte [eax + ecx*8 + 0x10], 1
je 0x5ec566
jmp 0x5e7f4b
inc dword [esp + 0x26c]
movzx edx, word [esp + 0x5b0]
cmp edx, dword [esp + 0x26c]
jg 0x5ec549
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0x1a
jne case.0x5e7b1b.89
mov eax, dword [esp + 0x270]
mov dx, word [ebx + 0x10]
mov word [eax + 6], dx
jmp case.0x5e7b1b.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.0x5e7b1b.31
push esi
push edi
mov esi, ebp
lea edi, [esp + 0x5c4]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea eax, [esp + 0x5bc]
mov cl, byte [esp + 0xd]
mov dl, 0x43
call fcn.005e7584
test byte [esp + 0x5cc], 4
je 0x5e7f4b
mov ecx, dword [esp + 0x5bc]
mov dword [esp + 0x284], ecx
mov ecx, dword [esp + 0x5c0]
mov dword [esp + 0x288], ecx
jmp 0x5ec627
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.0062a600
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 0x5ec6ee
cmp dword [ebx + 8], 0
jne 0x5e7f4b
mov eax, 0x1549
call fcn.005ffe18
mov esi, eax
jmp 0x5ec6ee
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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.0x5e7b1b.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.005e76e8
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 0x5ec81a
lea edx, [esp + 0x298]
mov eax, dword [esp + 0x294]
mov eax, dword [eax + 0x24]
call fcn.0062a5e8
mov esi, eax
test esi, esi
je 0x5ec7a3
jmp 0x5f010f
cmp dword [esp + 0x298], 0
je 0x5ec7c5
mov dword [esp + 0x28c], 1
mov dword [esp + 0x290], 0
jmp 0x5ec81a
mov eax, dword [esp + 0x294]
mov eax, dword [eax + 0x24]
call fcn.00629d28
mov dword [esp + 0x28c], eax
mov dword [esp + 0x290], edx
cmp dword [esp + 0x290], 0x7fffffff
jne 0x5ec7fb
cmp dword [esp + 0x28c], 0xffffffff
jb 0x5ec80a
jmp 0x5ec7fd
jl 0x5ec80a
mov edx, dword [esp + 0x294]
or byte [edx + 5], 2
jmp 0x5ec81a
add dword [esp + 0x28c], 1
adc dword [esp + 0x290], 0
cmp dword [ebx + 0xc], 0
je 0x5ec92c
mov ecx, dword [esp]
cmp dword [ecx + 0xd8], 0
je 0x5ec87e
mov ecx, dword [esp]
mov eax, dword [ecx + 0xd8]
mov dword [esp + 0x2a4], eax
jmp 0x5ec853
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 0x5ec842
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 0x5ec892
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.00646710
mov edx, dword [esp + 0x2a0]
cmp dword [edx + 4], 0x7fffffff
jne 0x5ec8b1
cmp dword [edx], 0xffffffff
je 0x5ec8c0
mov ecx, dword [esp + 0x294]
test byte [ecx + 5], 2
je 0x5ec8ca
mov esi, 0xd
jmp 0x5f010f
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 0x5ec8f0
cmp eax, dword [esp + 0x28c]
jbe 0x5ec912
jmp 0x5ec8f2
jle 0x5ec912
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 0x5ec9df
xor ecx, ecx
mov dword [esp + 0x29c], ecx
lea edx, [esp + 0x28c]
mov eax, 8
call fcn.006482c0
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.0062a600
mov esi, eax
test eax, eax
jne 0x5ec9c3
cmp dword [esp + 0x298], 0
jne 0x5ec9c3
inc dword [esp + 0x29c]
mov edx, dword [esp + 0x29c]
cmp edx, 0x64
jl 0x5ec946
test esi, esi
jne 0x5f010f
cmp dword [esp + 0x298], 0
jne 0x5ec9df
mov esi, 0xd
jmp 0x5f010f
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.0x5e7b1b.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 + 0x5ec], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x5f0], eax
cmp byte [ebx + 1], 0xfb
jne 0x5ecab2
mov edx, dword [esp + 8]
cmp dword [edx + 0x110], 0
jne 0x5eca87
mov ecx, dword [esp + 8]
cmp dword [ecx + 0xf8], 0
je 0x5ecab2
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 0x5ecac4
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2b8], eax
cmp dword [esp + 0x2bc], 0
je 0x5ecb3d
mov edx, dword [esp + 8]
cmp dword [edx + 0x110], 0
je 0x5ecb1a
test byte [ebx + 2], 4
jne 0x5ecb1a
mov ecx, dword [esp + 0x2b8]
push ecx
mov eax, dword [esp + 0x2c0]
push eax
push dword [esp + 0x5f8]
push dword [esp + 0x5f8]
mov ecx, dword [ebx + 8]
push ecx
push 0xffffffffffffffff
mov ecx, 0x12
mov edx, dword [esp + 0x2c8]
mov eax, dword [esp + 0x18]
call fcn.00634cc4
mov ecx, dword [esp + 8]
cmp dword [ecx + 0xf8], 0
je 0x5ecb34
mov eax, dword [esp + 0x2bc]
cmp dword [eax + 4], 0
jne 0x5ecb3d
xor edx, edx
mov dword [esp + 0x2bc], edx
test byte [ebx + 2], 0x40
jne case.0x5e7b1b.89
test byte [ebx + 2], 1
je 0x5ecb76
mov ecx, dword [esp]
add dword [ecx + 0x28], 1
adc dword [ecx + 0x2c], 0
test byte [ebx + 2], 0x20
je 0x5ecb76
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x5ec]
mov dword [eax + 0x28], edx
mov edx, dword [esp + 0x5f0]
mov dword [eax + 0x2c], edx
mov ecx, dword [esp + 0x2a8]
mov eax, dword [ecx + 8]
mov dword [esp + 0x5f4], eax
mov edx, dword [esp + 0x2a8]
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x600], ecx
test byte [ebx + 2], 0x10
je 0x5ecbaa
mov eax, dword [esp + 0x2b0]
mov edx, dword [eax + 0x1c]
jmp 0x5ecbac
xor edx, edx
mov dword [esp + 0x2b4], edx
mov eax, dword [esp + 0x2a8]
test byte [eax + 0x11], 4
je 0x5ecbd2
mov ecx, dword [esp + 0x2a8]
mov ecx, dword [ecx]
mov dword [esp + 0x604], ecx
jmp 0x5ecbdb
xor eax, eax
mov dword [esp + 0x604], eax
xor edx, edx
mov dword [esp + 0x5e4], edx
mov ecx, dword [esp + 0x2b4]
push ecx
lea edx, [esp + 0x5e8]
movzx ecx, word [ebx + 2]
mov eax, dword [esp + 0x2b4]
and ecx, 0x8a
mov eax, dword [eax + 0x24]
call fcn.0062e364
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 0x5f010f
cmp dword [esp + 0x2bc], 0
je case.0x5e7b1b.89
mov ecx, dword [esp + 0x2bc]
mov eax, dword [ecx]
push eax
push dword [esp + 0x5f4]
push dword [esp + 0x5f4]
test byte [ebx + 2], 4
je 0x5ecc64
mov edx, 0x17
jmp 0x5ecc69
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.0x5e7b1b.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 0x5eccc8
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 0x5ecccc
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.0062e86c
mov esi, eax
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.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 0x5ecda7
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x110], 0
jne 0x5ecd4d
mov ecx, dword [esp + 8]
cmp dword [ecx + 0xf8], 0
je 0x5ecda7
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 0x5ecdb9
mov eax, dword [esp + 0x2d0]
cmp byte [eax + 4], 0
je 0x5ecdb9
mov edx, dword [esp + 0x2d0]
mov eax, dword [edx + 0x24]
call fcn.00629d28
mov ecx, dword [esp + 0x2d0]
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x3c], edx
jmp 0x5ecdb9
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 0x5ece19
cmp dword [esp + 0x2d8], 0
je 0x5ece19
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 0x5ece04
mov ecx, 0x17
jmp 0x5ece09
mov ecx, 9
mov edx, dword [esp + 0x2e8]
mov eax, dword [esp + 0x18]
call fcn.00634cc4
test byte [esp + 0x2dc], 0x40
jne case.0x5e7b1b.89
mov ecx, dword [esp + 0x2d0]
mov dl, byte [ebx + 2]
mov eax, dword [ecx + 0x24]
call fcn.0062eb3c
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 0x5f010f
test byte [esp + 0x2dc], 1
je case.0x5e7b1b.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.0x5e7b1b.89
cmp dword [esp + 0x2d8], 0
je case.0x5e7b1b.89
mov ecx, dword [esp + 0x2d8]
test byte [ecx + 0x1c], 0x80
jne case.0x5e7b1b.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.0x5e7b1b.89
mov eax, dword [esp]
push dword [eax + 0x2c]
push dword [eax + 0x28]
mov eax, dword [esp + 0x10]
call fcn.00634af8
mov ecx, dword [esp]
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x2c], 0
jmp case.0x5e7b1b.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.00637300
mov esi, eax
test esi, esi
jne 0x5f010f
cmp dword [esp + 0x2e4], 0
jne 0x5e7f4b
jmp case.0x5e7b1b.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.006372b0
mov esi, eax
test esi, esi
jne 0x5f010f
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.0x5e7b1b.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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.00629d8c
mov dword [esp + 0x2f8], eax
mov edx, dword [esp + 8]
mov ecx, dword [edx + 0x78]
cmp ecx, dword [esp + 0x2f8]
jae 0x5ed028
jmp 0x5f029c
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x2f8]
mov eax, dword [esp + 0x2f4]
call fcn.00646e78
mov esi, eax
test esi, esi
jne 0x5f010f
cmp dword [ebx + 0xc], 0
jne case.0x5e7b1b.89
mov eax, dword [esp + 0x2c]
test byte [eax + 0x11], 0x40
je case.0x5e7b1b.89
mov eax, dword [esp + 0x2c]
call fcn.006462f0
test eax, eax
je case.0x5e7b1b.89
jmp 0x5f02b8
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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 0x5ed0be
mov ecx, dword [esp + 0x2c]
mov word [ecx + 0x10], 1
jmp case.0x5e7b1b.89
mov eax, dword [esp + 0x2fc]
cmp byte [eax + 3], 0
je 0x5ed0eb
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 0x5ed1a3
mov edx, dword [esp + 0x2fc]
xor ecx, ecx
mov cl, byte [edx]
cmp ecx, 2
jne 0x5ed154
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.00634c4c
test esi, esi
jne 0x5f010f
jmp 0x5ed1a3
mov eax, dword [esp + 0x2fc]
call fcn.006335f0
mov esi, eax
test esi, esi
jne 0x5f010f
mov eax, dword [esp + 0x2fc]
cmp byte [eax + 2], 0
je 0x5ed186
mov edx, dword [esp + 0x2c]
mov word [edx + 0x10], 1
jmp case.0x5e7b1b.89
mov ecx, dword [esp + 0x2fc]
mov eax, dword [ecx + 0x24]
call fcn.00629d28
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.0x5e7b1b.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 0x5ed235
push 3
mov ecx, 1
mov edx, dword [ebx + 4]
mov eax, dword [esp + 4]
call fcn.005e73ac
mov dword [esp + 0x310], eax
cmp dword [esp + 0x310], 0
je 0x5f02b8
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.00626688
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.0x5e7b1b.89
mov ecx, dword [esp + 0x310]
mov eax, dword [ecx + 0x24]
call fcn.00626560
jmp case.0x5e7b1b.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 0x5ed2cc
mov eax, dword [esp + 0x314]
mov dword [eax + 0x1c], 0xffffffff
mov eax, dword [esp + 0x318]
call fcn.00629d1c
test eax, eax
je 0x5ed2cc
jmp case.0x5e7b1b.89
lea edx, [esp + 0x31c]
mov eax, dword [esp + 0x318]
call fcn.0062a5e8
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 0x5f010f
cmp dword [ebx + 8], 0
jle case.0x5e7b1b.89
cmp dword [esp + 0x31c], 0
jne 0x5e7f4b
jmp case.0x5e7b1b.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.0062a57c
mov esi, eax
test esi, esi
jne 0x5f010f
cmp dword [esp + 0x328], 0
jne 0x5ed3d1
mov eax, dword [esp + 0x324]
call fcn.0062ad48
mov dword [esp + 0x32c], eax
mov dword [esp + 0x330], edx
cmp dword [esp + 0x330], 0
jne 0x5ed3a9
cmp dword [esp + 0x32c], 0
jb 0x5ed3d1
jmp 0x5ed3ab
jl 0x5ed3d1
push dword [esp + 0x330]
push dword [esp + 0x330]
call fcn.00645d48
movsx ecx, ax
cmp ecx, dword [ebx + 0xc]
jge 0x5ed3d1
mov dword [esp + 0x328], 1
cmp dword [esp + 0x328], 0
jne 0x5e7f4b
jmp case.0x5e7b1b.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 0x5ed42f
lea edx, [esp + 0x33c]
mov eax, dword [esp + 0x334]
call fcn.00637194
mov esi, eax
jmp 0x5ed46c
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.0062a57c
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 0x5f010f
mov cl, byte [esp + 0x33c]
mov eax, dword [esp + 0x334]
mov byte [eax + 2], cl
cmp dword [ebx + 8], 0
jle case.0x5e7b1b.89
cmp dword [esp + 0x33c], 0
jne 0x5e7f4b
jmp case.0x5e7b1b.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.006371f0
mov esi, eax
jmp 0x5ed519
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.0062aff4
mov esi, eax
jmp 0x5ed519
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.0062aec0
mov esi, eax
mov eax, dword [esp + 0x340]
xor edx, edx
mov dword [eax + 0x18], edx
test esi, esi
jne 0x5ed547
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.0x5e7b1b.9
cmp esi, 0x65
jne 0x5f010f
xor esi, esi
mov eax, dword [esp + 0x340]
mov byte [eax + 2], 1
jmp 0x5e7e18
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 0x5ed594
mov eax, dword [esp]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
test byte [ebp + 0x11], 4
je 0x5ed5a5
mov eax, ebp
call fcn.00646344
mov esi, eax
jmp 0x5ed5a7
xor esi, esi
test esi, esi
jne 0x5f010f
mov eax, dword [ebp + 0xc]
cdq
mov dword [esp + 0x614], eax
mov dword [esp + 0x618], edx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x60c], ecx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x620], ecx
mov ax, word [ebx + 0x10]
mov word [esp + 0x624], ax
test byte [ebx + 2], 0x10
je 0x5ed5fd
mov edx, dword [esp + 0x344]
mov ecx, dword [edx + 0x1c]
jmp 0x5ed5ff
xor ecx, ecx
push ecx
lea edx, [esp + 0x610]
movzx ecx, word [ebx + 2]
mov eax, dword [esp + 0x348]
and ecx, 0x8a
mov eax, dword [eax + 0x24]
call fcn.0062e364
mov esi, eax
mov eax, dword [esp + 0x344]
xor edx, edx
test esi, esi
mov dword [eax + 0x18], edx
jne 0x5f010f
jmp case.0x5e7b1b.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 0x5ed66d
mov eax, ebp
call fcn.00646344
mov esi, eax
jmp 0x5ed66f
xor esi, esi
test esi, esi
jne 0x5f010f
mov edx, ebp
mov eax, dword [esp + 0x348]
call fcn.00636514
mov esi, eax
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.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 + 0x634], eax
mov dx, word [ebx + 0xc]
mov word [esp + 0x648], dx
lea edx, [esp + 0x634]
mov byte [esp + 0x64a], 0
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x638], ecx
lea ecx, [esp + 0x354]
mov eax, dword [esp + 0x350]
call fcn.0062a958
mov esi, eax
test esi, esi
jne 0x5f010f
cmp dword [esp + 0x354], 0
jne 0x5ed739
mov dl, 4
mov eax, dword [esp + 0x350]
call fcn.0062eb3c
mov esi, eax
test esi, esi
jne 0x5f010f
jmp 0x5ed768
cmp word [ebx + 2], 0
je 0x5ed768
mov eax, dword [esp + 8]
call fcn.005ce44c
test eax, eax
jne 0x5ed768
mov ecx, str.index_corruption
mov edx, 0x1983
mov eax, 0x30b
call fcn.005ffdf0
mov esi, eax
jmp 0x5f010f
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.0x5e7b1b.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.006335f0
mov esi, eax
test esi, esi
jne 0x5f010f
mov eax, dword [esp + 0x358]
cmp byte [eax + 2], 0
jne 0x5ed8a2
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.00634930
mov esi, eax
test esi, esi
je 0x5ed7fa
jmp 0x5f010f
xor eax, eax
mov al, byte [ebx]
cmp eax, 0x8d
jne 0x5ed878
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.0x5e7b1b.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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.0x5e7b1b.89
mov eax, dword [ebx + 8]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
call fcn.0064698c
jmp case.0x5e7b1b.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.0x5e7b1b.89
mov eax, dword [esp + 0x368]
call fcn.00633590
mov esi, eax
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.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 + 0x654], edx
mov cx, word [ebx + 0x10]
mov word [esp + 0x668], cx
xor eax, eax
mov al, byte [ebx]
cmp eax, 0x2a
jge 0x5ed93b
mov byte [esp + 0x66a], 0xff
jmp 0x5ed943
mov byte [esp + 0x66a], 0
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x658], 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.00629d8c
xor edx, edx
mov dword [esp + 0x374], eax
mov dword [esp + 0x378], edx
cmp dword [esp + 0x378], 0
jne 0x5ed9b0
cmp dword [esp + 0x374], 0
jbe 0x5ed9cd
jmp 0x5ed9b2
jle 0x5ed9cd
cmp dword [esp + 0x378], 0
jne 0x5ed9cb
cmp dword [esp + 0x374], 0x7fffffff
jbe 0x5ed9de
jmp 0x5ed9cd
jle 0x5ed9de
mov eax, 0x1a50
call fcn.005ffe18
mov esi, eax
jmp 0x5f010f
lea eax, [esp + 0x674]
xor ecx, ecx
mov edx, dword [esp + 8]
call fcn.0064697c
mov eax, dword [esp + 0x374]
mov edx, eax
lea ecx, [esp + 0x674]
mov eax, dword [esp + 0x37c]
call fcn.00646e78
mov esi, eax
test esi, esi
jne 0x5f010f
push 0
lea ecx, [esp + 0x658]
mov edx, dword [esp + 0x680]
mov eax, dword [esp + 0x684]
call fcn.00634048
mov dword [esp + 0x370], eax
lea eax, [esp + 0x674]
call fcn.00646540
test byte [ebx], 1
jne 0x5eda53
neg dword [esp + 0x370]
jmp 0x5eda5a
inc dword [esp + 0x370]
cmp dword [esp + 0x370], 0
jg 0x5e7f4b
jmp case.0x5e7b1b.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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 0x5edab7
mov esi, 6
mov eax, dword [esp]
mov byte [eax + 0x94], 2
jmp 0x5f010f
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.0062f614
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 0x5f010f
cmp dword [esp + 0x380], 0
je case.0x5e7b1b.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.005d0a54
mov cl, byte [esp + 0x384]
inc ecx
mov byte [esp + 0xc], cl
jmp case.0x5e7b1b.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.0062f3d0
cmp dword [ebx + 0xc], 0
mov esi, eax
je 0x5edbc8
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 0x5edbc8
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 0x5f010f
jmp case.0x5e7b1b.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 0x5edc0e
mov ecx, dword [esp + 0x390]
mov eax, dword [esp + 8]
mov edx, dword [ecx + 0x24]
call fcn.00635c54
jmp case.0x5e7b1b.89
mov ecx, dword [esp + 0x390]
mov eax, dword [ecx + 0x24]
call fcn.0062f430
mov esi, eax
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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.0062f1c4
mov esi, eax
test esi, esi
jne 0x5f010f
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x394]
xor edx, edx
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5e7b1b.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
cmp dword [ebx + 4], 0
je 0x5edcdc
mov ecx, dword [esp + 8]
xor eax, eax
mov dword [ecx + 0x174], eax
mov edx, dword [esp + 8]
mov byte [edx + 0x5e], 0
push 0
lea ecx, [esp + 0x3a0]
push ecx
xor ecx, ecx
mov edx, dword [ebx + 0x10]
mov eax, dword [esp + 0x10]
call fcn.00608b84
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
cmp dword [esp + 0x39c], 0
jne 0x5edd2e
test esi, esi
je case.0x5e7b1b.89
mov edx, dword [esp + 0x39c]
push edx
push 0x67904b
mov ecx, dword [esp + 8]
push ecx
call fcn.00630b98
add esp, 0xc
mov eax, dword [esp + 0x39c]
call fcn.0064b4dc
cmp esi, 7
je 0x5f02b8
jmp 0x5f010f
mov edx, dword [ebx + 4]
mov dword [esp + 0x3a8], edx
cmp dword [ebx + 0x10], 0
jne 0x5eddce
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x3a8]
shl ecx, 4
mov edx, dword [eax + 0x10]
mov eax, dword [edx + ecx + 0xc]
call fcn.005d6698
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 + 0x3ac]
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 0x5edef2
mov dword [esp + 0x3ac], 0x6791f6
mov ecx, dword [esp + 8]
xor edx, edx
mov dword [esp + 0x69c], ecx
mov ecx, dword [esp + 0x3a8]
mov dword [esp + 0x6a4], ecx
mov eax, dword [esp]
add eax, 0x7c
mov dword [esp + 0x6a0], eax
mov dword [esp + 0x6ac], edx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x3a8]
shl ecx, 4
mov edx, dword [eax + 0x10]
mov eax, dword [edx + ecx + 4]
call fcn.00627e40
mov dword [esp + 0x6b4], eax
mov edx, dword [ebx + 0x10]
push edx
mov ecx, dword [esp + 0x3b0]
push ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x3b0]
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.00643ae0
add esp, 0x14
mov dword [esp + 0x3b0], eax
cmp dword [esp + 0x3b0], 0
jne 0x5ede74
mov esi, 7
jmp 0x5edef2
mov eax, dword [esp + 8]
xor edx, edx
xor ecx, ecx
mov byte [eax + 0xb1], 1
mov dword [esp + 0x6a8], edx
mov dword [esp + 0x6b0], ecx
lea ecx, [esp + 0x69c]
push ecx
push 0
mov edx, dword [esp + 0x3b8]
mov eax, dword [esp + 0x10]
mov ecx, fcn.005cc7e0
call fcn.00608b84
mov esi, eax
test esi, esi
jne 0x5edebd
mov esi, dword [esp + 0x6a8]
test esi, esi
jne 0x5eded7
cmp dword [esp + 0x6b0], 0
jne 0x5eded7
mov eax, 0x1b68
call fcn.005ffe18
mov esi, eax
mov edx, dword [esp + 0x3b0]
mov eax, dword [esp + 8]
call fcn.0064b550
mov ecx, dword [esp + 8]
mov byte [ecx + 0xb1], 0
test esi, esi
je case.0x5e7b1b.89
mov eax, dword [esp + 8]
call fcn.005cdfbc
cmp esi, 7
jne 0x5f010f
jmp 0x5f02b8
mov edx, dword [ebx + 4]
mov eax, dword [esp + 8]
call fcn.0060afd4
mov esi, eax
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.89
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 8]
call fcn.005ce2c8
jmp case.0x5e7b1b.89
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 8]
call fcn.005cde6c
jmp case.0x5e7b1b.89
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 8]
call fcn.005f28b0
jmp case.0x5e7b1b.89
mov ecx, dword [ebx + 8]
mov dword [esp + 0x3b4], ecx
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x3b8], eax
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x3c4], 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 eax, dword [esp + 0x3b4]
push eax
mov edx, dword [esp + 0x3c8]
mov eax, dword [edx]
inc eax
push eax
lea edx, [esp + 0x3c4]
push edx
lea ecx, [esp + 0x3cc]
push ecx
movzx ecx, word [ebx + 2]
shl ecx, 4
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x10]
mov edx, dword [edx + ecx + 4]
mov ecx, dword [esp + 0x3c8]
add ecx, 4
mov eax, dword [esp + 0x18]
call fcn.006301e0
mov esi, eax
mov eax, dword [esp + 0x28]
call fcn.0064698c
cmp dword [esp + 0x3bc], 0
jne 0x5ee00a
jmp 0x5ee051
test esi, esi
je 0x5ee021
mov eax, dword [esp + 0x3c0]
call fcn.0064b4dc
jmp 0x5f010f
mov ecx, dword [esp + 0x3c4]
mov eax, dword [esp + 0x3bc]
dec eax
sub dword [ecx], eax
cdq
sbb dword [ecx + 4], edx
push 0xffffffffffffffff
push 0xffffffffffffffff
push fcn.0064b4dc
mov edx, dword [esp + 0x3cc]
mov eax, dword [esp + 0x34]
mov cl, 1
call fcn.00646bdc
xor edx, edx
mov eax, dword [esp + 0x28]
mov dl, byte [esp + 0xd]
call fcn.006460f0
jmp 0x5e7e18
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 0x5ee09f
mov eax, dword [esp + 0x28]
call fcn.00646aa8
test eax, eax
jne 0x5f02b8
push dword [ebp + 4]
push dword [ebp]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 8]
call fcn.00647b6c
jmp case.0x5e7b1b.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 0x5ee0e8
lea edx, [esp + 0x3c8]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 8]
call fcn.00647d84
test eax, eax
jne 0x5ee0fb
mov eax, dword [esp + 0x28]
call fcn.0064698c
jmp case.0x5e7b1b.9
push dword [esp + 0x3cc]
push dword [esp + 0x3cc]
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x2c]
call fcn.006469f8
jmp 0x5e7e18
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 + 0x3d0], eax
mov edx, dword [esp + 0x28]
test byte [edx + 0x10], 0x10
jne 0x5ee164
mov eax, dword [esp + 0x28]
call fcn.00646aa8
test eax, eax
jne 0x5f02b8
cmp dword [esp + 0x3d0], 0
je 0x5ee19c
push dword [ebp + 4]
push dword [ebp]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x3d8]
mov eax, dword [ecx + 8]
call fcn.00647ddc
mov dword [esp + 0x3d4], eax
cmp dword [esp + 0x3d4], 0
jne 0x5e7f4b
cmp dword [esp + 0x3d0], 0
jl case.0x5e7b1b.89
push dword [ebp + 4]
push dword [ebp]
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 8]
call fcn.00647b6c
jmp case.0x5e7b1b.89
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x3f0], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x3e0], ecx
cmp word [ebx + 2], 0
je 0x5ee245
mov eax, dword [esp + 0x3f0]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x3f4], edx
mov ecx, dword [esp]
mov eax, dword [ecx + 0xd8]
mov dword [esp + 0x3ec], eax
jmp 0x5ee21a
mov edx, dword [esp + 0x3ec]
mov ecx, dword [edx + 4]
mov dword [esp + 0x3ec], ecx
cmp dword [esp + 0x3ec], 0
je 0x5ee237
mov eax, dword [esp + 0x3ec]
mov edx, dword [eax + 0x18]
cmp edx, dword [esp + 0x3f4]
jne 0x5ee209
cmp dword [esp + 0x3ec], 0
jne case.0x5e7b1b.89
mov ecx, dword [esp]
mov edx, dword [esp + 8]
mov eax, dword [ecx + 0xe0]
cmp eax, dword [edx + 0xa0]
jl 0x5ee276
mov esi, 1
push str.too_many_levels_of_trigger_recursion
mov eax, dword [esp + 4]
push eax
call fcn.00630b98
add esp, 8
jmp 0x5f010f
mov edx, dword [esp + 0x3e0]
test byte [edx + 0x10], 0x10
jne 0x5ee49b
mov ecx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x3f0]
mov ecx, dword [ecx + 8]
add ecx, dword [eax + 0xc]
mov dword [esp + 0x3d8], ecx
mov edx, dword [esp + 0x3f0]
cmp dword [edx + 0xc], 0
jne 0x5ee2b6
inc dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3d8]
mov eax, dword [esp + 0x3f0]
shl ecx, 3
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x3f0]
shl edx, 2
lea ecx, [ecx + ecx*4]
add ecx, edx
mov edx, dword [eax + 4]
add edx, 7
test edx, edx
jns 0x5ee2e6
add edx, 7
sar edx, 3
add ecx, edx
add ecx, 0x58
mov dword [esp + 0x3dc], ecx
mov eax, dword [esp + 0x3dc]
cdq
push edx
push eax
mov eax, dword [esp + 0x10]
call fcn.0064b82c
mov dword [esp + 0x3ec], eax
cmp dword [esp + 0x3ec], 0
jne 0x5ee31e
jmp 0x5f02b8
mov eax, dword [esp + 0x3e0]
call fcn.0064652c
mov edx, dword [esp + 0x3e0]
mov word [edx + 0x10], 0x1010
mov ecx, dword [esp + 0x3e0]
mov eax, dword [esp + 0x3ec]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x3e0]
mov ecx, dword [esp + 0x3dc]
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [ecx + 0x24], 0x631fac
mov eax, dword [esp + 0x3ec]
mov edx, dword [esp]
mov dword [eax], edx
mov ecx, dword [esp + 0x3ec]
mov eax, dword [esp + 0x3d8]
mov dword [ecx + 0x3c], eax
mov edx, dword [esp + 0x3f0]
mov eax, dword [esp + 0x3ec]
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 + 0x3ec]
mov dword [edx + 0x30], eax
mov eax, dword [esp]
mov ebx, dword [esp + 0x3ec]
mov ecx, dword [eax + 0x58]
mov dword [ebx + 0xc], ecx
mov eax, dword [esp]
mov ecx, dword [esp + 0x3ec]
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x38], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x3ec]
mov edx, dword [eax + 0x60]
mov dword [ecx + 0x10], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x3ec]
mov edx, dword [eax + 0x18]
mov dword [ecx + 0x2c], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x3ec]
mov edx, dword [eax + 0x68]
mov dword [ecx + 8], edx
mov eax, dword [esp]
mov ecx, dword [esp + 0x3ec]
mov edx, dword [eax + 0x6c]
mov dword [ecx + 0x34], edx
mov eax, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3ec]
mov edx, dword [eax + 0x14]
mov dword [ecx + 0x18], edx
mov eax, dword [esp + 0x3ec]
mov edx, dword [eax + 0x3c]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x3ec]
add edx, 0x58
mov dword [esp + 0x3e8], edx
mov ecx, dword [esp + 0x3ec]
add ecx, 0x58
mov dword [esp + 0x3e4], ecx
mov eax, dword [esp + 0x3e4]
cmp eax, dword [esp + 0x3e8]
je 0x5ee4ac
mov edx, dword [esp + 0x3e4]
mov word [edx + 0x10], 0
mov ecx, dword [esp + 0x3e4]
mov ebx, dword [esp + 8]
mov dword [ecx + 0x14], ebx
add dword [esp + 0x3e4], 0x28
mov eax, dword [esp + 0x3e4]
cmp eax, dword [esp + 0x3e8]
jne 0x5ee466
jmp 0x5ee4ac
mov edx, dword [esp + 0x3e0]
mov ecx, dword [edx + 8]
mov dword [esp + 0x3ec], ecx
mov eax, dword [esp]
inc dword [eax + 0xe0]
mov edx, dword [esp]
mov ebx, dword [esp + 0x3ec]
mov ecx, dword [edx + 0xd8]
mov dword [ebx + 4], ecx
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x3ec]
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 + 0x3ec]
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 + 0x3ec]
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 + 0x3ec]
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 + 0x3ec]
mov dword [eax + 0xd8], edx
mov ecx, dword [esp + 0x3ec]
add ecx, 0x58
mov dword [esp + 0x24], ecx
mov eax, dword [esp]
mov dword [eax + 0x58], ecx
mov edx, dword [esp + 0x3ec]
mov eax, dword [edx + 0x3c]
mov edx, dword [esp]
mov dword [edx + 0x14], eax
mov ecx, dword [esp + 0x3ec]
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 + 0x3f0]
mov eax, dword [ecx + 0x60]
mov ecx, dword [edx + 0xc]
shl ecx, 2
mov edx, dword [esp + 0x3ec]
add eax, ecx
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x3f0]
mov ecx, dword [eax + 4]
add ecx, 7
test ecx, ecx
jns 0x5ee5ca
add ecx, 7
mov ebx, dword [esp + 0x3ec]
sar ecx, 3
xor edx, edx
mov eax, dword [ebx + 0x14]
call fcn.005c83cc
mov ecx, dword [esp + 0x3f0]
mov eax, dword [ecx]
mov dword [esp + 4], eax
mov edx, dword [esp]
mov dword [edx + 0x68], eax
mov ecx, dword [esp + 0x3f0]
mov edx, dword [esp]
mov eax, dword [ecx + 4]
mov dword [edx + 0x6c], eax
mov ebx, dword [esp + 4]
add ebx, 0xffffffd8
jmp 0x5e7e18
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
mov dword [esp + 0x2c], eax
mov ecx, dword [esp]
mov ecx, dword [ecx + 0xd8]
mov dword [esp + 0x3f8], ecx
mov eax, dword [esp + 0x3f8]
mov edx, dword [eax + 0x30]
mov eax, dword [esp + 0x3f8]
mov ecx, dword [eax + 8]
lea edx, [edx + edx*4]
mov eax, dword [esp + 0x3f8]
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 + 0x3fc], ecx
mov ecx, 0x4000
mov edx, dword [esp + 0x3fc]
mov eax, dword [esp + 0x2c]
call fcn.00646b24
jmp case.0x5e7b1b.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 0x5ee696
cmp eax, 0
je 0x5ee6b1
mov ecx, dword [esp + 8]
mov eax, dword [ebx + 8]
cdq
add dword [ecx + 0x210], eax
adc dword [ecx + 0x214], edx
jmp case.0x5e7b1b.89
cmp dword [ebx + 4], 0
je 0x5ee6d0
mov ecx, dword [esp + 8]
mov eax, dword [ebx + 8]
cdq
add dword [ecx + 0x208], eax
adc dword [ecx + 0x20c], edx
jmp case.0x5e7b1b.89
mov ecx, dword [esp]
mov eax, dword [ebx + 8]
cdq
add dword [ecx + 0x40], eax
adc dword [ecx + 0x44], edx
jmp case.0x5e7b1b.89
cmp dword [ebx + 4], 0
je 0x5ee729
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x20c], 0
jne case.0x5e7b1b.89
cmp dword [ecx + 0x208], 0
jne case.0x5e7b1b.89
mov eax, dword [esp + 8]
cmp dword [eax + 0x214], 0
jne case.0x5e7b1b.89
cmp dword [eax + 0x210], 0
je 0x5e7f4b
jmp case.0x5e7b1b.89
mov edx, dword [esp]
cmp dword [edx + 0x44], 0
jne case.0x5e7b1b.89
cmp dword [edx + 0x40], 0
jne case.0x5e7b1b.89
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x214], 0
jne case.0x5e7b1b.89
cmp dword [ecx + 0x210], 0
je 0x5e7f4b
jmp case.0x5e7b1b.89
mov eax, dword [esp]
cmp dword [eax + 0xd8], 0
je 0x5ee7ba
mov edx, dword [esp]
mov ecx, dword [edx + 0xd8]
mov dword [esp + 0x400], ecx
jmp 0x5ee792
mov eax, dword [esp + 0x400]
mov edx, dword [eax + 4]
mov dword [esp + 0x400], edx
mov ecx, dword [esp + 0x400]
cmp dword [ecx + 4], 0
jne 0x5ee781
mov eax, dword [esp + 0x400]
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 0x5ee7cb
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.00646710
mov ebp, dword [ebx + 8]
shl ebp, 3
lea ebp, [ebp + ebp*4]
add ebp, dword [esp + 0x24]
mov eax, ebp
call fcn.00646710
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 0x5ee80d
cmp eax, dword [esp]
pop edx
pop eax
jbe case.0x5e7b1b.89
jmp 0x5ee815
pop edx
pop eax
jle case.0x5e7b1b.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.0x5e7b1b.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 0x5ee84f
cmp dword [ecx], 0
jbe case.0x5e7b1b.89
jmp 0x5ee855
jle case.0x5e7b1b.89
mov ecx, dword [esp + 0x28]
mov eax, dword [ebx + 0xc]
cdq
sub dword [ecx], eax
sbb dword [ecx + 4], edx
jmp 0x5e7f4b
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.005e76e8
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
mov dword [esp + 0x404], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x408], eax
cmp dword [esp + 0x408], 0
jne 0x5ee8c6
cmp dword [esp + 0x404], 0
jbe 0x5ee8f6
jmp 0x5ee8c8
jle 0x5ee8f6
cmp dword [ebp + 4], 0
jne 0x5ee8d6
cmp dword [ebp], 0
jbe 0x5ee8e0
jmp 0x5ee8d8
jle 0x5ee8e0
mov eax, dword [ebp]
mov edx, dword [ebp + 4]
jmp 0x5ee8e4
xor eax, eax
xor edx, edx
push edx
push eax
lea eax, [esp + 0x40c]
call fcn.00645a2c
test eax, eax
je 0x5ee90c
mov edx, dword [esp + 0x2c]
mov dword [edx], 0xffffffff
mov dword [edx + 4], 0xffffffff
jmp case.0x5e7b1b.89
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x404]
mov dword [ecx], eax
mov eax, dword [esp + 0x408]
mov dword [ecx + 4], eax
jmp case.0x5e7b1b.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 0x5ee94c
cmp dword [ecx], 0
je case.0x5e7b1b.89
mov ecx, dword [esp + 0x28]
cmp dword [ecx + 4], 0
jne 0x5ee961
cmp dword [ecx], 0
jbe 0x5e7f4b
jmp 0x5ee967
jle 0x5e7f4b
mov eax, dword [esp + 0x28]
sub dword [eax], 1
sbb dword [eax + 4], 0
jmp 0x5e7f4b
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 0x5ee9a1
cmp dword [ecx], 0
jbe 0x5ee9ae
jmp 0x5ee9a3
jle 0x5ee9ae
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.0x5e7b1b.89
cmp dword [edx], 0
je 0x5e7f4b
jmp case.0x5e7b1b.89
movzx ecx, word [ebx + 2]
mov dword [esp + 0x40c], ecx
mov eax, dword [esp + 0x40c]
shl eax, 2
add eax, 0x44
xor edx, edx
push edx
push eax
mov eax, dword [esp + 0x10]
call fcn.0064b8a4
mov dword [esp + 0x410], eax
cmp dword [esp + 0x410], 0
je 0x5f02b8
mov edx, dword [esp + 0x410]
xor ecx, ecx
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0x40c]
mov eax, dword [esp + 0x410]
shl ecx, 2
add ecx, dword [esp + 0x410]
add ecx, 0x1c
mov dword [eax], ecx
mov cx, 1
mov edx, dword [esp + 0x410]
mov eax, dword [edx]
mov edx, dword [esp + 8]
call fcn.0064697c
mov ecx, dword [esp + 0x410]
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 + 0x410]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x410]
mov ecx, dword [esp]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x410]
mov byte [ecx + 0x19], 0
mov eax, dword [esp + 0x410]
xor edx, edx
mov dword [eax + 0x14], edx
mov ecx, dword [esp + 0x410]
mov al, byte [esp + 0xd]
mov byte [ecx + 0x18], al
mov dl, byte [esp + 0x40c]
mov eax, dword [esp + 0x410]
mov byte [eax + 0x1a], dl
mov byte [ebx + 1], 0xf1
mov edx, dword [esp + 0x410]
mov dword [ebx + 0x10], edx
mov byte [ebx], 0xa3
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x418], ecx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x41c], ecx
mov eax, dword [esp + 0x418]
mov edx, dword [eax + 8]
cmp edx, dword [esp + 0x41c]
je 0x5eeb53
mov ecx, dword [esp + 0x418]
mov eax, dword [esp + 0x41c]
mov dword [ecx + 8], eax
mov edx, dword [esp + 0x418]
xor ecx, ecx
mov cl, byte [edx + 0x1a]
dec ecx
mov dword [esp + 0x414], ecx
cmp dword [esp + 0x414], 0
jl 0x5eeb53
mov ecx, dword [ebx + 8]
mov eax, dword [esp + 0x418]
add ecx, dword [esp + 0x414]
mov edx, dword [esp + 0x414]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [eax + edx*4 + 0x1c], ecx
dec dword [esp + 0x414]
cmp dword [esp + 0x414], 0
jge 0x5eeb1c
mov eax, dword [esp + 0x41c]
inc dword [eax + 0xc]
cmp dword [ebx + 4], 0
je 0x5eeb88
mov ecx, dword [esp + 0x418]
mov eax, dword [esp + 0x418]
add ecx, 0x1c
xor edx, edx
mov dl, byte [eax + 0x1a]
mov eax, dword [esp + 0x418]
mov ebp, dword [eax + 4]
call dword [ebp + 0x1c]
jmp 0x5eebab
mov ecx, dword [esp + 0x418]
mov eax, dword [esp + 0x418]
add ecx, 0x1c
xor edx, edx
mov dl, byte [eax + 0x1a]
mov eax, dword [esp + 0x418]
mov ebp, dword [eax + 4]
call dword [ebp + 0x10]
mov eax, dword [esp + 0x418]
cmp dword [eax + 0x14], 0
je case.0x5e7b1b.89
mov edx, dword [esp + 0x418]
cmp dword [edx + 0x14], 0
jle 0x5eebf4
mov ecx, dword [esp + 0x418]
mov eax, dword [ecx]
call fcn.005e557c
push eax
push 0x67904b
mov edx, dword [esp + 8]
push edx
call fcn.00630b98
add esp, 0xc
mov ecx, dword [esp + 0x418]
mov esi, dword [ecx + 0x14]
mov eax, dword [esp + 0x418]
cmp byte [eax + 0x19], 0
je 0x5eec3a
mov edx, dword [ebx - 0x24]
mov dword [esp + 0x414], edx
cmp dword [esp + 0x414], 0
je 0x5eec2f
push 0
push 1
mov eax, dword [esp + 0x41c]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x2c]
call fcn.006469f8
mov edx, dword [esp + 0x418]
mov byte [edx + 0x19], 0
mov ecx, dword [esp + 0x418]
mov eax, dword [ecx]
call fcn.0064652c
mov edx, dword [esp + 0x418]
xor eax, eax
test esi, esi
mov ecx, dword [edx]
mov word [ecx + 0x10], 1
mov ecx, dword [esp + 0x418]
mov dword [ecx + 0x14], eax
jne 0x5f010f
jmp case.0x5e7b1b.89
mov edx, dword [ebx + 4]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x420], edx
cmp dword [ebx + 0xc], 0
je 0x5eecbe
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
shl edx, 3
mov eax, dword [esp + 0x420]
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
call fcn.0064648c
mov esi, eax
mov eax, dword [ebx + 0xc]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x420], eax
jmp 0x5eeccf
mov edx, dword [ebx + 0x10]
mov eax, dword [esp + 0x420]
call fcn.00646410
mov esi, eax
test esi, esi
je 0x5eecf7
mov eax, dword [esp + 0x420]
call fcn.005e557c
push eax
push 0x67904b
mov edx, dword [esp + 8]
push edx
call fcn.00630b98
add esp, 0xc
jmp 0x5f010f
xor edx, edx
mov eax, dword [esp + 0x420]
mov dl, byte [esp + 0xd]
call fcn.006460f0
jmp case.0x5e7b1b.89
xor ecx, ecx
lea eax, [esp + 0x6bc]
mov dword [esp + 0x6b8], ecx
or ecx, 0xffffffff
mov dword [esp + 0x6c0], ecx
mov dword [esp + 0x6bc], ecx
push eax
lea edx, [esp + 0x6c4]
push edx
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 8]
call fcn.005fec5c
mov esi, eax
test esi, esi
je 0x5eed63
cmp esi, 5
jne 0x5f010f
mov dword [esp + 0x6b8], 1
xor esi, esi
xor eax, eax
mov dword [esp + 0x424], eax
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x428], edx
mov ecx, dword [esp + 0x424]
mov eax, dword [esp + ecx*4 + 0x6b8]
cdq
push edx
push eax
mov eax, dword [esp + 0x430]
call fcn.006469f8
inc dword [esp + 0x424]
add dword [esp + 0x428], 0x28
cmp dword [esp + 0x424], 3
jl 0x5eed80
jmp case.0x5e7b1b.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
mov dword [esp + 0x2c], eax
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x434], 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 + 0x42c], ecx
mov eax, dword [esp + 0x42c]
call fcn.0062f804
mov dword [esp + 0x430], eax
mov eax, dword [esp + 0x430]
call fcn.0063fd50
mov dword [esp + 0x438], eax
cmp dword [esp + 0x434], 0xffffffff
jne 0x5eee29
mov edx, dword [esp + 0x438]
mov dword [esp + 0x434], edx
mov eax, dword [esp + 0x430]
call fcn.0063fd58
test eax, eax
jne 0x5eee47
mov edx, dword [esp + 0x438]
mov dword [esp + 0x434], edx
mov edx, 1
mov eax, dword [esp + 0x430]
call fcn.0063f9c4
mov dword [esp + 0x43c], eax
cmp dword [esp + 0x434], 5
jne 0x5eee97
mov eax, dword [esp + 0x43c]
call fcn.00643db4
test eax, eax
je 0x5eee89
mov eax, dword [esp + 0x430]
call fcn.0063fe7c
test eax, eax
jne 0x5eee97
mov edx, dword [esp + 0x438]
mov dword [esp + 0x434], edx
mov ecx, dword [esp + 0x434]
cmp ecx, dword [esp + 0x438]
je 0x5eef87
cmp dword [esp + 0x438], 5
je 0x5eeec3
cmp dword [esp + 0x434], 5
jne 0x5eef87
mov ecx, dword [esp + 8]
cmp byte [ecx + 0x55], 0
je 0x5eeeda
mov eax, dword [esp + 8]
cmp dword [eax + 0xbc], 1
jle 0x5eef0f
cmp dword [esp + 0x434], 5
mov esi, 1
jne 0x5eeef0
mov eax, str.into
jmp 0x5eeef5
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.00630b98
add esp, 0xc
jmp 0x5f010f
cmp dword [esp + 0x438], 5
jne 0x5eef44
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x430]
call fcn.0063ff70
mov esi, eax
test esi, esi
jne 0x5eef5f
mov edx, dword [esp + 0x434]
mov eax, dword [esp + 0x430]
call fcn.0063fc64
jmp 0x5eef5f
cmp dword [esp + 0x438], 4
jne 0x5eef5f
mov edx, 2
mov eax, dword [esp + 0x430]
call fcn.0063fc64
test esi, esi
jne 0x5eef87
cmp dword [esp + 0x434], 5
jne 0x5eef74
mov edx, 2
jmp 0x5eef79
mov edx, 1
mov eax, dword [esp + 0x42c]
call fcn.00630690
mov esi, eax
test esi, esi
je 0x5eef99
mov eax, dword [esp + 0x438]
mov dword [esp + 0x434], eax
mov edx, dword [esp + 0x434]
mov eax, dword [esp + 0x430]
call fcn.0063fc64
mov dword [esp + 0x434], eax
mov edx, dword [esp + 0x2c]
mov word [edx + 0x10], 0x2202
mov eax, dword [esp + 0x434]
call fcn.005dac60
mov edx, dword [esp + 0x2c]
mov dword [edx + 8], eax
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 8]
call fcn.00643db4
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.006460f0
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.89
cmp dword [ebx + 8], 0
je 0x5ef01c
mov ecx, dword [ebx + 8]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
jmp 0x5ef01e
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.0063794c
mov esi, eax
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.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 + 0x440], ecx
mov eax, dword [esp + 0x440]
call fcn.00629564
mov esi, eax
test esi, esi
je case.0x5e7b1b.89
cmp esi, 0x65
jne 0x5f010f
xor esi, esi
jmp 0x5e7f4b
cmp dword [ebx + 4], 0
jne 0x5ef09b
mov edx, dword [ebx + 8]
mov eax, dword [esp + 8]
call fcn.00634b24
jmp case.0x5e7b1b.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.0x5e7b1b.89
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x444], edx
mov ecx, dword [esp + 0x444]
mov eax, dword [ecx + 0x24]
call fcn.00629d3c
jmp case.0x5e7b1b.89
mov edx, dword [esp]
mov ecx, dword [edx + 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.00629d44
jmp case.0x5e7b1b.89
mov dl, byte [ebx + 0xc]
mov byte [esp + 0x44c], dl
cmp byte [esp + 0x44c], 0
jne 0x5ef143
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 0x5ef13d
cmp eax, 0
jne case.0x5e7b1b.89
mov ecx, dword [ebx + 4]
mov dword [esp + 0x450], ecx
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x450]
shl eax, 4
mov cl, byte [esp + 0x44c]
mov edx, dword [edx + 0x10]
mov eax, dword [edx + eax + 4]
mov edx, dword [ebx + 8]
call fcn.006305d0
mov esi, eax
test esi, esi
je case.0x5e7b1b.89
mov eax, esi
and eax, 0xff
cmp eax, 6
jne 0x5f010f
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x454], edx
mov ecx, dword [esp + 0x454]
push ecx
push str.database_table_is_locked:__s
mov ecx, dword [esp + 8]
push ecx
call fcn.00630b98
add esp, 0xc
jmp 0x5f010f
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x458], eax
mov edx, dword [esp + 0x458]
mov eax, dword [esp + 8]
call fcn.00608018
cmp dword [esp + 0x458], 0
mov esi, eax
je 0x5ef1f1
mov eax, dword [esp + 0x458]
mov edx, dword [eax + 8]
mov eax, dword [esp]
call fcn.00634c4c
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.89
lea eax, [esp + 0x6c4]
mov ecx, 0x28
xor edx, edx
call fcn.005c83cc
mov ecx, dword [esp + 8]
lea eax, [esp + 0x6c4]
mov dword [esp + 0x6d8], ecx
mov edx, dword [ebx + 8]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
call fcn.00646b64
mov esi, eax
lea eax, [esp + 0x6c4]
call fcn.005e557c
mov dword [esp + 0x45c], eax
cmp dword [esp + 0x45c], 0
je 0x5ef270
mov edx, dword [esp]
add edx, 0x7c
push edx
mov ecx, dword [esp + 0x460]
mov edx, dword [ebx + 4]
mov eax, dword [esp + 0xc]
call fcn.00607b9c
mov esi, eax
lea eax, [esp + 0x6c4]
call fcn.0064652c
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.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.00607e54
mov esi, eax
mov eax, dword [esp + 8]
dec dword [eax + 0xc8]
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.89
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x460], edx
mov dword [esp + 0x464], ecx
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x468], eax
cmp dword [esp + 0x468], 0
je 0x5ef2f0
mov edx, dword [esp + 0x468]
cmp dword [edx], 0
jne 0x5ef2fa
mov esi, 6
jmp 0x5f010f
mov eax, dword [esp + 0x468]
mov edx, dword [eax]
mov dword [esp + 0x46c], edx
lea edx, [esp + 0x464]
mov esi, dword [esp + 0x46c]
mov eax, dword [esp + 0x468]
call dword [esi + 0x18]
mov esi, eax
mov edx, dword [esp + 0x468]
mov eax, dword [esp]
call fcn.00634c4c
test esi, esi
jne 0x5f010f
mov ecx, dword [esp + 0x464]
mov eax, dword [esp + 0x468]
mov dword [ecx], eax
push 2
xor ecx, ecx
mov edx, dword [ebx + 4]
mov eax, dword [esp + 4]
call fcn.005e73ac
mov dword [esp + 0x460], eax
cmp dword [esp + 0x460], 0
je 0x5ef38c
mov edx, dword [esp + 0x460]
mov ecx, dword [esp + 0x464]
mov dword [edx + 0x24], ecx
mov ecx, dword [esp + 0x468]
inc dword [ecx + 4]
jmp case.0x5e7b1b.89
mov esi, dword [esp + 0x46c]
mov eax, dword [esp + 0x464]
call dword [esi + 0x1c]
jmp 0x5f02b8
xor edx, edx
mov dword [esp + 0x47c], 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.0064698c
mov edx, dword [ebx + 0x10]
mov dword [esp + 0x470], edx
mov ecx, dword [esp + 0x470]
cmp dword [ecx + 0x34], 0
je case.0x5e7b1b.89
mov ecx, dword [esp + 0x470]
mov eax, dword [ecx + 0x34]
mov edx, dword [eax + 8]
mov dword [esp + 0x474], edx
mov ecx, dword [esp + 0x474]
mov eax, dword [ecx]
mov dword [esp + 0x478], eax
mov edx, dword [esp + 0x470]
mov eax, dword [edx + 0x34]
call fcn.006072e0
mov edx, dword [ebx + 0xc]
push edx
lea ecx, [esp + 0x480]
push ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [ebx + 4]
shl ecx, 4
mov esi, dword [esp + 0x480]
mov edx, dword [eax + 0x10]
mov eax, dword [esp + 0x478]
mov edx, dword [edx + ecx]
mov ecx, dword [eax]
mov eax, dword [esp + 0x47c]
call dword [esi + 0x60]
mov esi, eax
mov eax, dword [esp + 0x470]
mov eax, dword [eax + 0x34]
call fcn.006072f8
test esi, esi
je 0x5ef474
mov eax, dword [esp + 0x47c]
call fcn.0064b4dc
jmp 0x5f010f
cmp dword [esp + 0x47c], 0
je case.0x5e7b1b.89
push 0xffffffffffffffff
push 0xffffffffffffffff
push fcn.0064b4dc
mov cl, 1
mov edx, dword [esp + 0x488]
mov eax, dword [esp + 0x38]
call fcn.00646bdc
jmp case.0x5e7b1b.89
mov edx, dword [esp]
mov ecx, dword [edx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x480], edx
push 0
push 8
call fcn.0064b430
mov dword [esp + 0x484], eax
cmp dword [esp + 0x484], 0
je 0x5f02b8
mov ecx, dword [esp + 0x480]
mov eax, dword [esp + 0x484]
mov ecx, dword [ecx + 0x24]
mov dword [eax], ecx
mov edx, dword [ebx + 0xc]
mov eax, dword [esp + 0x484]
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.005e76e8
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x2c]
mov word [edx + 0x10], 1
push 0x5e5d1c
mov ecx, str.ValueList
mov edx, dword [esp + 0x488]
mov eax, dword [esp + 0x30]
call fcn.00646a2c
jmp case.0x5e7b1b.89
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x494], ecx
mov ecx, dword [esp + 0x494]
add ecx, 0x28
mov dword [esp + 0x498], ecx
mov eax, dword [esp]
mov edx, dword [eax + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [edx + eax*4]
mov dword [esp + 0x4a4], edx
mov ecx, dword [esp + 0x4a4]
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x49c], ecx
mov eax, dword [esp + 0x49c]
mov edx, dword [eax]
mov dword [esp + 0x4a0], edx
mov ecx, dword [esp + 0x4a0]
mov eax, dword [ecx]
mov dword [esp + 0x490], eax
mov edx, dword [esp + 0x498]
mov eax, dword [edx]
mov dword [esp + 0x488], eax
mov edx, dword [esp + 0x494]
mov eax, dword [edx]
mov dword [esp + 0x48c], eax
mov edx, dword [esp]
mov ecx, dword [edx + 0x5c]
mov dword [esp + 0x4b0], ecx
xor ecx, ecx
mov dword [esp + 0x4ac], ecx
mov eax, dword [esp + 0x4ac]
cmp eax, dword [esp + 0x488]
jge 0x5ef622
mov ecx, dword [esp + 0x4ac]
mov edx, dword [esp + 0x4b0]
shl ecx, 3
mov eax, dword [esp + 0x4ac]
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x498]
add ecx, 0x28
mov dword [edx + eax*4], ecx
inc dword [esp + 0x4ac]
mov edx, dword [esp + 0x4ac]
cmp edx, dword [esp + 0x488]
jl 0x5ef5e3
mov ecx, dword [esp + 0x488]
push ecx
mov eax, dword [esp + 0x4b4]
push eax
mov esi, dword [esp + 0x498]
mov ecx, dword [ebx + 0x10]
mov edx, dword [esp + 0x494]
mov eax, dword [esp + 0x4a4]
call dword [esi + 0x20]
mov esi, eax
mov edx, dword [esp + 0x4a0]
mov eax, dword [esp]
call fcn.00634c4c
test esi, esi
jne 0x5f010f
mov ebp, dword [esp + 0x490]
mov eax, dword [esp + 0x49c]
call dword [ebp + 0x28]
mov dword [esp + 0x4a8], eax
mov edx, dword [esp + 0x4a4]
mov byte [edx + 2], 0
cmp dword [esp + 0x4a8], 0
jne 0x5e7f4b
jmp case.0x5e7b1b.89
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x4c0], edx
mov ecx, dword [ebx + 0xc]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [esp + 0x4bc], ecx
mov eax, dword [esp + 0x4c0]
cmp byte [eax + 2], 0
je 0x5ef6e1
mov eax, dword [esp + 0x4bc]
call fcn.0064698c
jmp case.0x5e7b1b.89
mov edx, dword [esp + 0x4c0]
mov ecx, dword [edx + 0x24]
mov ecx, dword [ecx]
mov dword [esp + 0x4b4], ecx
mov ecx, 0x20
mov eax, dword [esp + 0x4b4]
mov edx, dword [eax]
lea eax, [esp + 0x6ec]
mov dword [esp + 0x4b8], edx
xor edx, edx
call fcn.005c83cc
mov ecx, dword [esp + 0x4bc]
xor edx, edx
mov dword [esp + 0x6ec], ecx
lea ecx, [esp + 0x70c]
mov al, byte [esp + 0xd]
mov byte [esp + 0x704], al
mov dword [esp + 0x714], edx
mov dword [esp + 0x710], 0x1000000
mov dword [esp + 0x6f0], ecx
test byte [ebx + 2], 1
je 0x5ef77e
mov eax, dword [esp + 0x4bc]
call fcn.0064698c
mov edx, dword [esp + 0x4bc]
mov word [edx + 0x10], 0x401
mov ecx, dword [esp + 0x4bc]
xor eax, eax
mov dword [ecx], eax
jmp 0x5ef79d
mov edx, dword [esp + 0x4bc]
mov eax, dword [esp + 0x4bc]
mov cx, word [edx + 0x10]
and cx, 0xf240
or cx, 1
mov word [eax + 0x10], cx
mov eax, dword [esp + 0x4c0]
mov esi, dword [esp + 0x4b8]
lea edx, [esp + 0x6ec]
mov ecx, dword [ebx + 8]
mov eax, dword [eax + 0x24]
call dword [esi + 0x2c]
mov esi, eax
mov edx, dword [esp + 0x4b4]
mov eax, dword [esp]
call fcn.00634c4c
cmp dword [esp + 0x700], 0
jle 0x5ef7fc
mov eax, dword [esp + 0x4bc]
call fcn.005e557c
push eax
push 0x67904b
mov edx, dword [esp + 8]
push edx
call fcn.00630b98
add esp, 0xc
mov esi, dword [esp + 0x700]
xor edx, edx
mov eax, dword [esp + 0x4bc]
mov dl, byte [esp + 0xd]
call fcn.006460f0
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.89
mov ecx, dword [esp]
mov ecx, dword [ecx + 0x60]
mov eax, dword [ebx + 4]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x4d0], edx
mov ecx, dword [esp + 0x4d0]
cmp byte [ecx + 2], 0
je 0x5ef840
jmp case.0x5e7b1b.89
mov eax, dword [esp + 0x4d0]
mov edx, dword [eax + 0x24]
mov ecx, dword [edx]
mov dword [esp + 0x4c4], ecx
mov eax, dword [esp + 0x4c4]
mov edx, dword [eax]
mov dword [esp + 0x4c8], edx
mov ecx, dword [esp + 0x4d0]
mov esi, dword [esp + 0x4c8]
mov eax, dword [ecx + 0x24]
call dword [esi + 0x24]
mov esi, eax
mov edx, dword [esp + 0x4c4]
mov eax, dword [esp]
call fcn.00634c4c
test esi, esi
jne 0x5f010f
mov ecx, dword [esp + 0x4d0]
mov ebp, dword [esp + 0x4c8]
mov eax, dword [ecx + 0x24]
call dword [ebp + 0x28]
mov dword [esp + 0x4cc], eax
cmp dword [esp + 0x4cc], 0
jne 0x5e7e18
jmp case.0x5e7b1b.9
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x20]
and eax, 0x4000000
mov dword [esp + 0x4dc], eax
mov edx, dword [esp + 8]
or dword [edx + 0x20], 0x4000000
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x4d4], ecx
mov eax, dword [ebx + 4]
shl eax, 3
lea eax, [eax + eax*4]
add eax, dword [esp + 0x24]
mov dword [esp + 0x4d8], eax
mov edx, 1
mov eax, dword [esp + 0x4d8]
call fcn.006460f0
mov esi, eax
test esi, esi
jne 0x5f010f
mov eax, dword [esp + 0x4d8]
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x4d4]
mov ecx, dword [eax]
call dword [ecx + 0x4c]
cmp dword [esp + 0x4dc], 0
mov esi, eax
jne 0x5ef94e
mov eax, dword [esp + 8]
and dword [eax + 0x20], 0xfbffffff
and dword [eax + 0x24], 0xffffffff
mov edx, dword [esp + 0x4d4]
mov eax, dword [esp]
call fcn.00634c4c
mov edx, dword [esp]
and byte [edx + 0x98], 0xfc
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.89
mov dword [esp + 0x4f0], 0
mov dword [esp + 0x4f4], 0
mov ecx, dword [esp + 8]
cmp byte [ecx + 0x57], 0
jne 0x5f02b8
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + 8]
mov dword [esp + 0x4e0], eax
cmp dword [esp + 0x4e0], 0
je 0x5ef9bb
mov edx, dword [esp + 0x4e0]
cmp dword [edx], 0
jne 0x5ef9c5
mov esi, 6
jmp 0x5f010f
mov eax, dword [esp + 0x4e0]
mov edx, dword [eax]
mov dword [esp + 0x4e4], edx
mov ecx, dword [ebx + 8]
mov dword [esp + 0x4e8], ecx
mov ecx, dword [esp + 0x4e4]
cmp dword [ecx + 0x34], 0
je case.0x5e7b1b.89
mov eax, dword [esp + 8]
mov dl, byte [eax + 0x5c]
mov byte [esp + 0x500], dl
mov ecx, dword [esp]
mov eax, dword [ecx + 0x5c]
xor ecx, ecx
mov dword [esp + 0x4f8], eax
mov edx, dword [ebx + 0xc]
shl edx, 3
lea edx, [edx + edx*4]
add edx, dword [esp + 0x24]
mov dword [esp + 0x4fc], edx
mov dword [esp + 0x4ec], ecx
mov eax, dword [esp + 0x4ec]
cmp eax, dword [esp + 0x4e8]
jge 0x5efa6f
mov edx, dword [esp + 0x4f8]
mov eax, dword [esp + 0x4ec]
mov ecx, dword [esp + 0x4fc]
mov dword [edx + eax*4], ecx
add dword [esp + 0x4fc], 0x28
inc dword [esp + 0x4ec]
mov edx, dword [esp + 0x4ec]
cmp edx, dword [esp + 0x4e8]
jl 0x5efa38
mov ecx, dword [esp + 8]
mov al, byte [ebx + 2]
mov byte [ecx + 0x5c], al
lea edx, [esp + 0x4f0]
push edx
mov esi, dword [esp + 0x4e8]
mov ecx, dword [esp + 0x4fc]
mov edx, dword [esp + 0x4ec]
mov eax, dword [esp + 0x4e4]
call dword [esi + 0x34]
mov esi, eax
mov eax, dword [esp + 8]
mov dl, byte [esp + 0x500]
mov byte [eax + 0x5c], dl
mov edx, dword [esp + 0x4e0]
mov eax, dword [esp]
call fcn.00634c4c
test esi, esi
jne 0x5efae1
cmp dword [ebx + 4], 0
je 0x5efae1
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x4f0]
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x4f4]
mov dword [ecx + 0x2c], eax
mov edx, esi
and edx, 0xff
cmp edx, 0x13
jne 0x5efb1f
mov ecx, dword [ebx + 0x10]
cmp byte [ecx + 0x10], 0
je 0x5efb1f
movzx ecx, word [ebx + 2]
cmp ecx, 4
jne 0x5efb04
xor esi, esi
jmp 0x5efb2a
movzx eax, word [ebx + 2]
cmp eax, 5
jne 0x5efb11
mov dl, 2
jmp 0x5efb14
mov dl, byte [ebx + 2]
mov eax, dword [esp]
mov byte [eax + 0x94], dl
jmp 0x5efb2a
mov ecx, dword [esp]
add dword [ecx + 0x28], 1
adc dword [ecx + 0x2c], 0
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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.00627e40
xor edx, edx
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5e7b1b.89
mov edx, ebx
mov eax, dword [esp]
call fcn.005e76e8
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 + 0x508], ecx
xor ecx, ecx
mov dword [esp + 0x504], ecx
cmp dword [ebx + 0xc], 0
je 0x5efbc9
mov eax, dword [esp + 0x508]
call fcn.00627e40
mov dword [esp + 0x504], eax
mov edx, dword [ebx + 0xc]
cmp edx, dword [esp + 0x504]
jbe 0x5efbc9
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x504], ecx
mov edx, dword [esp + 0x504]
mov eax, dword [esp + 0x508]
call fcn.006287d0
xor edx, edx
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp case.0x5e7b1b.89
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x510], 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 + 0x510]
mov eax, dword [ecx]
cmp eax, dword [esp + 0x2c]
je 0x5efc93
mov edx, dword [esp + 0x510]
mov eax, dword [esp]
mov dword [edx + 0xc], eax
mov edx, dword [esp + 0x510]
mov ecx, dword [esp + 0x2c]
mov dword [edx], ecx
mov ecx, dword [esp + 0x510]
mov al, byte [esp + 0xd]
mov byte [ecx + 0x18], al
mov edx, dword [esp + 0x510]
xor ecx, ecx
mov cl, byte [edx + 0x1a]
dec ecx
mov dword [esp + 0x50c], ecx
cmp dword [esp + 0x50c], 0
jl 0x5efc93
mov ecx, dword [ebx + 8]
mov eax, dword [esp + 0x510]
add ecx, dword [esp + 0x50c]
mov edx, dword [esp + 0x50c]
shl ecx, 3
lea ecx, [ecx + ecx*4]
add ecx, dword [esp + 0x24]
mov dword [eax + edx*4 + 0x1c], ecx
dec dword [esp + 0x50c]
cmp dword [esp + 0x50c], 0
jge 0x5efc5c
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 + 0x510]
mov eax, dword [esp + 0x510]
mov ecx, dword [esp + 0x510]
movzx edx, byte [edx + 0x1a]
mov ebp, dword [eax + 4]
add ecx, 0x1c
call dword [ebp + 0x10]
mov eax, dword [esp + 0x510]
cmp dword [eax + 0x14], 0
je case.0x5e7b1b.89
mov edx, dword [esp + 0x510]
cmp dword [edx + 0x14], 0
jle 0x5efd12
mov eax, dword [esp + 0x2c]
call fcn.005e557c
push eax
push 0x67904b
mov edx, dword [esp + 8]
push edx
call fcn.00630b98
add esp, 0xc
mov ecx, dword [esp + 0x510]
mov esi, dword [ecx + 0x14]
mov eax, dword [ebx + 4]
push eax
mov edx, dword [esp + 0x514]
mov eax, dword [esp + 0xc]
mov ecx, dword [edx + 0x10]
mov edx, dword [esp + 4]
add edx, 0xec
call fcn.006333e8
mov ecx, dword [esp + 0x510]
xor eax, eax
mov dword [ecx + 0x14], eax
test esi, esi
jne 0x5f010f
jmp case.0x5e7b1b.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.0x5e7b1b.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 0x5efdb2
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.006469f8
jmp case.0x5e7b1b.89
mov eax, dword [esp + 0x2c]
call fcn.0064698c
jmp case.0x5e7b1b.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 0x5efdfb
mov eax, dword [esp + 0x2c]
and word [eax + 0x10], 0xf7ff
jmp case.0x5e7b1b.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.0x5e7b1b.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.005e770c
mov dword [esp + 0x514], eax
mov dword [esp + 0x518], edx
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0xc]
shl eax, 3
cdq
push edx
push eax
mov eax, dword [esp + 0x51c]
mov edx, dword [esp + 0x520]
call fcn.005c8794
mov dword [esp + 0x514], eax
mov dword [esp + 0x518], edx
mov eax, dword [esp + 0x514]
mov ecx, eax
and ecx, 7
mov dl, 1
shl dl, cl
push edx
push 0
push 8
mov eax, dword [esp + 0x520]
mov edx, dword [esp + 0x524]
call fcn.005c8748
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 8]
pop edx
or byte [ecx + eax], dl
jmp case.0x5e7b1b.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.005e770c
mov dword [esp + 0x51c], eax
mov dword [esp + 0x520], edx
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0xc]
shl eax, 3
cdq
push edx
push eax
mov eax, dword [esp + 0x524]
mov edx, dword [esp + 0x528]
call fcn.005c8794
mov dword [esp + 0x51c], eax
mov dword [esp + 0x520], edx
push 0
push 8
mov eax, dword [esp + 0x524]
mov edx, dword [esp + 0x528]
call fcn.005c8748
mov edx, dword [esp + 0x28]
mov ecx, dword [edx + 8]
movsx ebp, byte [ecx + eax]
mov eax, dword [esp + 0x51c]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
and ebp, edx
jne 0x5eff4d
mov ecx, dword [esp]
inc dword [ecx + 0xc4]
jmp 0x5e7f4b
mov eax, dword [esp]
inc dword [eax + 0xc0]
jmp case.0x5e7b1b.89
mov edx, dword [esp + 8]
test byte [edx + 0x5e], 0x41
je 0x5f0078
mov ecx, dword [esp]
xor eax, eax
mov al, byte [ecx + 0x95]
cmp eax, 0xfe
je 0x5f0078
cmp dword [ebx + 0x10], 0
je 0x5eff8a
mov edx, dword [ebx + 0x10]
jmp 0x5eff93
mov ecx, dword [esp]
mov edx, dword [ecx + 0xc8]
mov dword [esp + 0x528], edx
test edx, edx
je 0x5f0078
mov eax, dword [esp + 8]
test byte [eax + 0x5e], 0x40
je 0x5effee
mov edx, dword [esp + 0x528]
mov eax, dword [esp]
call fcn.006374d8
mov dword [esp + 0x52c], eax
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 8]
mov edx, dword [esp + 0x52c]
mov eax, dword [ecx + 0xd8]
call dword [ebp + 0xd4]
mov eax, dword [esp + 0x52c]
call fcn.0064b4dc
jmp 0x5f0078
mov ecx, dword [esp + 8]
cmp dword [ecx + 0xc4], 1
jle 0x5f0053
mov ecx, dword [esp + 0x528]
push ecx
push 0x6792bb
mov eax, dword [esp + 0x10]
push eax
call fcn.00643ae0
add esp, 0xc
mov dword [esp + 0x530], eax
mov eax, 1
mov edx, dword [esp + 0x530]
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 + 0x530]
mov eax, dword [esp + 8]
call fcn.0064b5f4
jmp 0x5f0078
mov edx, dword [esp + 0x528]
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 [0x67e79c]
jl 0x5f00e6
xor ecx, ecx
mov cl, byte [ebx]
cmp ecx, 0xb8
je case.0x5e7b1b.89
mov dword [esp + 0x524], 1
jmp 0x5f00d2
mov eax, dword [esp + 0x524]
mov edx, dword [esp]
mov edx, dword [edx + 0x68]
lea eax, [eax + eax*4]
movzx eax, byte [edx + eax*8]
cmp eax, 0xf
jne 0x5f00cb
mov eax, dword [esp]
mov ecx, dword [esp + 0x524]
mov edx, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
xor eax, eax
mov dword [edx + ecx*8 + 4], eax
inc dword [esp + 0x524]
mov edx, dword [esp]
mov ecx, dword [edx + 0x6c]
cmp ecx, dword [esp + 0x524]
jg 0x5f009c
xor ecx, ecx
mov dword [ebx + 4], ecx
inc dword [ebx + 4]
mov eax, dword [esp]
inc dword [eax + 0xbc]
jmp 0x5e7f4b
test edi, edi
je 0x5f0107
call fcn.00646070
add dword [edi], eax
adc dword [edi + 4], edx
xor edi, edi
add ebx, 0x28
jmp 0x5e7ae6
mov eax, dword [esp + 8]
cmp byte [eax + 0x57], 0
je 0x5f0120
mov esi, 7
jmp 0x5f0134
cmp esi, 0x210a
jne 0x5f0134
mov eax, 0x2354
call fcn.005ffe18
mov esi, eax
mov eax, dword [esp]
cmp dword [eax + 0x7c], 0
jne 0x5f015f
cmp esi, 0xc0a
je 0x5f015f
mov eax, esi
call fcn.005fe2e0
push eax
push 0x67904b
mov edx, dword [esp + 8]
push edx
call fcn.00630b98
add esp, 0xc
mov ecx, dword [esp]
mov dword [ecx + 0x24], esi
mov edx, esi
mov eax, dword [esp + 8]
call fcn.00643e70
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.00643c38
add esp, 0x14
mov ecx, dword [esp]
xor eax, eax
mov al, byte [ecx + 0x97]
cmp eax, 2
jne 0x5f01b7
mov eax, dword [esp]
call fcn.00632f50
cmp esi, 0xc0a
jne 0x5f01c8
mov eax, dword [esp + 8]
call fcn.0064bb8c
cmp esi, 0xb
jne 0x5f01df
mov edx, dword [esp + 8]
cmp byte [edx + 0x55], 0
jne 0x5f01df
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 0x5f01fe
xor edx, edx
mov eax, dword [esp + 8]
mov dl, byte [esp + 0xc]
dec edx
call fcn.005cdf5c
test edi, edi
je 0x5f0256
call fcn.00646070
add dword [edi], eax
adc dword [edi + 4], edx
xor edi, edi
jmp 0x5f0256
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 0x5f0256
mov dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x20], 0xffffffff
mov esi, 9
jmp 0x5f010f
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x20]
jne 0x5f0268
cmp eax, dword [esp + 0x1c]
jb 0x5f0277
mov ecx, dword [esp + 8]
cmp dword [ecx + 0x17c], 0
jne 0x5f0210
mov eax, dword [esp + 0x14]
mov edx, dword [esp]
add dword [edx + 0xb4], eax
mov ecx, dword [esp]
cmp dword [ecx + 0xa0], 0
je 0x5f0298
mov eax, dword [esp]
call fcn.00631efc
mov eax, esi
jmp 0x5f02e7
push 0x6792e1
mov edx, dword [esp + 4]
push edx
call fcn.00630b98
add esp, 8
mov esi, 0x12
jmp 0x5f010f
mov eax, dword [esp + 8]
call fcn.0064bb8c
push 0x6792f8
mov edx, dword [esp + 4]
push edx
call fcn.00630b98
add esp, 8
mov esi, 7
jmp 0x5f010f
mov esi, 9
jmp 0x5f010f
add esp, 0x754
pop ebp
pop edi
pop esi
pop ebx
ret