Function at 0x610866
Capabilities:
Parse credit card information
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2bc
mov eax, dword [0x6cd05c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0xdc], 0
push edi
mov dword [ebp - 0xd8], esi
mov byte [ebp - 0x129], 0
mov edi, dword [esi]
mov eax, dword [esi + 4]
mov ebx, eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 0xe0], edi
mov al, byte [edi + 0x3e]
mov byte [ebp - 0x11c], al
mov eax, dword [esi + 8]
mov dword [ebp - 0xe8], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x134], eax
mov eax, dword [edi + 0x24]
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x138], eax
call fcn.0061c3d0
cmp dword [esi + 0x50], 7
je 0x61524d
mov dword [esi + 0x50], 0
mov dword [esi + 0x88], 0
mov dword [esi + 0x8c], 0
mov dword [esi + 0x14], 0
cmp dword [edi + 0xf0], 0
mov dword [edi + 0x1c4], 0
jne 0x615207
cmp dword [edi + 0x124], 0
je 0x60fd34
mov ecx, dword [edi + 0x12c]
xor edx, edx
mov eax, dword [esi + 0x7c]
div ecx
sub ecx, edx
mov dword [ebp - 0x158], ecx
mov eax, dword [esi + 0x4c]
mov ecx, ebx
mov dword [ebp - 0x184], 0xff7f
mov dword [ebp - 0x180], 0xbe01
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*4]
mov dword [ebp - 0xe4], ebx
nop dword [eax]
cmp byte [edi + 0x41], 0
jne 0x61524d
mov cl, byte [ebx]
inc dword [ebp - 0x144]
movzx edx, cl
mov byte [ebp - 0xed], cl
mov dword [ebp - 0xfc], edx
lea eax, [edx - 1]
cmp eax, 0x9d
ja case.0x60fd8f.62
jmp dword [eax*4 + 0x615340]
mov eax, dword [ebx + 4]
mov ecx, 4
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
mov word [eax + esi*8 + 8], cx
mov ecx, ebx
sub ecx, dword [ebp - 0x110]
mov eax, 0x66666667
imul ecx
mov ecx, dword [ebp - 0xe8]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ecx + esi*8], eax
mov dword [ecx + esi*8 + 4], edx
jmp 0x614e06
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0x110]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*4]
mov eax, 0x80
mov word [edx + ecx*8 + 8], ax
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov edi, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0xc]
dec eax
cdq
mov dword [edi + ecx*8], eax
mov eax, edi
mov edi, dword [ebp - 0xe0]
mov dword [eax + ecx*8 + 4], edx
mov edx, 4
mov word [eax + ecx*8 + 8], dx
cmp dword [ebx + 8], 0
jne 0x614e06
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0x110]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*8]
lea eax, [eax + eax*4]
mov eax, dword [ebx + eax*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*4]
mov eax, 0x80
mov word [edx + ecx*8 + 8], ax
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov ecx, 4
sub ebx, dword [ebp - 0x110]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
mov word [eax + esi*8 + 8], cx
mov ecx, dword [eax + esi*8]
mov eax, 0x66666667
imul ebx
mov ebx, dword [ebp - 0xe8]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov dword [ebx + esi*8], eax
mov dword [ebx + esi*8 + 4], edx
lea ebx, [ecx + ecx*4]
mov ecx, dword [ebp - 0x110]
lea ebx, [ebx + 5]
mov esi, dword [ebp - 0xd8]
lea ebx, [ecx + ebx*4]
jmp 0x60fd53
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je case.0x60fd8f.62
mov ecx, ebx
mov eax, 0x66666667
sub ecx, dword [ebp - 0x110]
imul ecx
sar edx, 3
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp dword [ebx + 4], 0
mov edx, dword [ebp - 0xd8]
jne 0x614e44
mov ecx, dword [edx + 0xb0]
test ecx, ecx
je 0x614e44
mov eax, dword [ecx + 4]
mov esi, edx
dec dword [esi + 0xb8]
mov dword [esi + 0xb0], eax
mov eax, dword [esi + 0x5c]
add dword [edi + 0x54], eax
mov dword [edi + 0x50], eax
call fcn.0061b830
cmp dword [ebx + 8], 4
mov ecx, dword [edi + 0x20]
mov dword [ebp - 0x134], ecx
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0x138], ecx
jne 0x60ff5a
lea ecx, [eax + eax*4]
mov eax, dword [esi + 4]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov edx, dword [esi + 4]
lea ebx, [eax + 1]
mov ecx, dword [esi + 8]
lea ebx, [ebx + ebx*4]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0xe8], ecx
lea ebx, [edx + ebx*4]
jmp 0x60fd53
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x60ffa9
call fcn.006155f0
mov ecx, eax
mov eax, dword [ebx + 4]
cdq
add ebx, 0x14
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x60fd53
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebx + 4]
add ebx, 0x14
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x60fd53
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea edx, [eax + ecx*8]
mov eax, 0x2460
test word [edx + 8], ax
je 0x60ffe5
mov ecx, edx
call fcn.006155f0
mov edx, eax
jmp 0x60ffee
mov eax, 4
mov word [edx + 8], ax
mov ecx, dword [ebx + 0x10]
add ebx, 0x14
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
jmp 0x60fd53
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x610023
call fcn.006155f0
mov ecx, eax
jmp 0x61002c
mov eax, 4
mov word [ecx + 8], ax
mov eax, 8
mov word [ecx + 8], ax
mov eax, dword [ebx + 0x10]
add ebx, 0x14
movsd xmm0, qword [eax]
movsd qword [ecx], xmm0
jmp 0x60fd53
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x61006a
mov ecx, esi
call fcn.006155f0
mov esi, eax
jmp 0x610073
mov eax, 4
mov word [esi + 8], ax
mov edi, dword [ebx + 0x10]
mov ecx, edi
mov byte [ebx], 0x19
call fcn.0063b940
cmp byte [ebp - 0x11c], 1
mov dword [ebx + 4], eax
je 0x6100f3
push 0
push 1
push 0xffffffffffffffff
mov edx, edi
mov ecx, esi
call fcn.0061e250
add esp, 0xc
mov dword [ebp - 0xdc], eax
cmp eax, 0x12
je 0x61316c
movzx edx, byte [ebp - 0x11c]
mov ecx, esi
call fcn.0061f1c0
test eax, eax
jne 0x615095
mov dword [esi + 0x18], eax
mov eax, 0x800
or word [esi + 8], ax
cmp byte [ebx + 1], 0xff
jne 0x6100e3
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xe0]
call fcn.0063e560
mov byte [ebx + 1], 0xff
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0xc]
mov dword [ebx + 4], eax
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xd8]
cmp eax, dword [edi + 0x58]
jg 0x6150c5
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea edx, [eax + ecx*8]
mov eax, 0x2460
test word [edx + 8], ax
je 0x61012d
mov ecx, edx
call fcn.006155f0
mov edx, eax
jmp 0x610136
mov eax, 4
mov word [edx + 8], ax
mov eax, 0xa02
mov word [edx + 8], ax
mov eax, dword [ebx + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [ebx + 4]
mov dword [edx + 0xc], eax
mov al, byte [ebp - 0x11c]
mov byte [edx + 0xa], al
cmp byte [ebx + 3], 0
je case.0x60fd8f.62
mov eax, dword [ebx + 0xc]
mov edi, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + ecx*8]
or eax, dword [edi + ecx*8 + 4]
mov edi, dword [ebp - 0xe0]
je case.0x60fd8f.62
mov eax, 0xa10
mov word [edx + 8], ax
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x6101b9
mov ecx, esi
call fcn.006155f0
mov esi, eax
jmp 0x6101c2
mov eax, 4
mov word [esi + 8], ax
mov edi, dword [ebx + 0xc]
mov eax, 1
sub edi, dword [ebx + 8]
mov ecx, 0x101
cmp dword [ebx + 4], 0
cmovne eax, ecx
movzx eax, ax
mov dword [ebp - 0xec], eax
mov word [esi + 8], ax
test edi, edi
jle 0x610209
mov ebx, eax
nop dword [eax]
add esi, 0x28
mov ecx, esi
call fcn.0061e800
dec edi
mov word [esi + 8], bx
test edi, edi
jg 0x6101f0
mov ebx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, word [ebp - 0x184]
or ax, 1
add ebx, 0x14
mov word [edx + ecx*8 + 8], ax
jmp 0x60fd53
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x610268
mov ecx, esi
call fcn.006155f0
mov esi, eax
jmp 0x610271
mov eax, 4
mov word [esi + 8], ax
mov edx, dword [ebx + 0x10]
mov ecx, esi
push 0
push 0
push dword [ebx + 4]
call fcn.0061e250
mov al, byte [ebp - 0x11c]
add esp, 0xc
mov byte [esi + 0xa], al
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x3c]
lea esi, [eax + ecx*8]
lea ecx, [esi - 0x28]
call fcn.0061e5b0
test eax, eax
jne 0x6150bf
mov eax, dword [ebx + 8]
mov edx, dword [ebp - 0xd8]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
lea eax, [eax + ecx*8]
mov ecx, 0x2460
test word [eax + 8], cx
je 0x6102de
mov ecx, eax
call fcn.006155f0
jmp 0x6102e7
mov ecx, 4
mov word [eax + 8], cx
push 0x800
lea edx, [esi - 0x28]
mov ecx, eax
call fcn.0061e530
mov esi, dword [ebp - 0xd8]
add esp, 4
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
nop dword [eax + eax]
mov edx, edi
mov ecx, esi
call fcn.0061e470
mov eax, 0x1000
test word [esi + 8], ax
je 0x610353
mov ecx, esi
call fcn.0061f010
test eax, eax
jne 0x615095
add edi, 0x28
add esi, 0x28
sub dword [ebp - 0xf4], 1
jne 0x610330
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
push 0x1000
mov edx, edi
mov ecx, esi
call fcn.0061e530
mov eax, 0x1000
add esp, 4
test word [esi + 8], ax
je 0x6103c2
mov ecx, esi
call fcn.0061f010
test eax, eax
jne 0x615095
mov ecx, dword [ebp - 0xf4]
mov eax, ecx
dec ecx
mov dword [ebp - 0xf4], ecx
test eax, eax
je 0x612a9c
add esi, 0x28
add edi, 0x28
jmp 0x610397
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
push 0x1000
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0061e530
add esp, 4
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [edi + 0x124]
test eax, eax
je 0x610439
mov ecx, dword [ebp - 0x144]
cmp ecx, dword [ebp - 0x158]
jb 0x610439
push dword [edi + 0x128]
call eax
add esp, 4
test eax, eax
jne 0x614eed
xor edx, edx
mov ecx, esi
call fcn.0061abd0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x614e2e
lea edx, [eax + 1]
mov ecx, esi
call fcn.0061ac40
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x614e2e
mov eax, dword [esi + 0x48]
xor edi, edi
mov ecx, dword [ebp - 0xe8]
add eax, 2
or eax, 1
mov dword [esi + 0x48], eax
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov dword [eax + 0x14], esi
cmp dword [ebx + 8], edi
jle 0x6104bd
mov eax, 0x1000
test word [esi + 8], ax
je 0x6104ad
mov ecx, esi
call fcn.0061f010
test eax, eax
jne 0x615095
mov ecx, esi
call fcn.0061ef50
inc edi
add esi, 0x28
cmp edi, dword [ebx + 8]
jl 0x610493
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xd8]
cmp byte [edi + 0x41], 0
jne 0x61524d
sub ebx, dword [ebp - 0x110]
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
inc eax
add eax, edx
mov dword [esi + 0x4c], eax
mov eax, 0x64
mov dword [ebp - 0xdc], eax
jmp 0x615300
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x104], ecx
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
movzx edx, word [ecx + 8]
mov al, byte [edi + 8]
or al, dl
test al, 1
je 0x61054d
mov ecx, esi
call fcn.0061e800
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
test edx, 0x4000
je 0x610562
call fcn.0061efb0
test eax, eax
jne 0x615095
mov eax, 0x4000
test word [edi + 8], ax
je 0x61057c
mov ecx, edi
call fcn.0061efb0
test eax, eax
jne 0x615095
mov eax, dword [ebp - 0x104]
test byte [eax + 8], 0x12
jne 0x6105a2
mov dl, byte [ebp - 0x11c]
mov ecx, eax
push 0
call fcn.0061ee70
add esp, 4
test eax, eax
jne 0x615095
test byte [edi + 8], 0x12
jne 0x6105c2
mov dl, byte [ebp - 0x11c]
mov ecx, edi
push 0
call fcn.0061ee70
add esp, 4
test eax, eax
jne 0x615095
mov ecx, dword [ebp - 0x104]
mov eax, dword [edi + 0xc]
add eax, dword [ecx + 0xc]
cdq
mov dword [ebp - 0x118], eax
mov ecx, edx
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x58]
cdq
cmp ecx, edx
jg 0x61316c
mov edx, dword [ebp - 0x118]
jl 0x6105f9
cmp edx, eax
ja 0x61316c
xor eax, eax
mov ecx, esi
cmp esi, edi
sete al
add edx, 2
push eax
call fcn.0061f090
add esp, 4
test eax, eax
jne 0x615095
mov ax, word [esi + 8]
mov ecx, 0xbe02
and ax, cx
or ax, 2
mov word [esi + 8], ax
cmp esi, edi
je 0x61063f
push dword [edi + 0xc]
push dword [edi + 0x10]
push dword [esi + 0x10]
call fcn.00587150
add esp, 0xc
mov eax, dword [ebp - 0x104]
push dword [eax + 0xc]
push dword [eax + 0x10]
mov eax, dword [esi + 0x10]
add eax, dword [edi + 0xc]
push eax
call fcn.00587150
mov eax, dword [esi + 0x10]
add esp, 0xc
mov ecx, dword [ebp - 0x118]
mov edi, dword [ebp - 0xe0]
mov byte [ecx + eax], 0
mov eax, dword [esi + 0x10]
mov byte [eax + ecx + 1], 0
mov eax, 0x200
or word [esi + 8], ax
add ebx, 0x14
mov al, byte [ebp - 0x11c]
mov dword [esi + 0xc], ecx
mov byte [esi + 0xa], al
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [ebp - 0x100], eax
call fcn.00615630
movzx eax, ax
mov dword [ebp - 0xf4], eax
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov ecx, eax
mov dword [ebp - 0xf8], eax
call fcn.00615630
mov ecx, dword [ebp - 0x100]
movzx edx, ax
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xec], edx
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov esi, dword [ebp - 0xf8]
mov dword [ebp - 0x104], eax
mov al, byte [esi + 8]
or al, byte [ecx + 8]
test al, 1
jne 0x61093e
mov al, dl
and al, byte [ebp - 0xf4]
test al, 4
je 0x61080c
mov eax, ecx
mov byte [ebp - 0xed], 1
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, esi
mov esi, dword [eax]
mov edi, dword [eax + 4]
movzx eax, byte [ebx]
add eax, 0xffffffa7
mov dword [ebp - 0x150], esi
mov dword [ebp - 0x14c], edi
cmp eax, 3
ja case.default.0x610741
jmp dword [eax*4 + 0x6155b8]
push edx
push ecx
lea ecx, [ebp - 0x150]
call fcn.0063a3c0
add esp, 8
test eax, eax
jne 0x610815
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebp - 0x150]
jmp 0x6107d9
push edx
push ecx
lea ecx, [ebp - 0x150]
call fcn.0063a370
jmp 0x610755
push edx
push ecx
lea ecx, [ebp - 0x150]
call fcn.0063a270
jmp 0x610755
mov eax, ecx
or eax, edx
je 0x61093e
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x6107ab
test esi, esi
jne 0x6107ab
cmp edi, 0x80000000
je 0x610815
push edx
push ecx
push edi
push esi
call fcn.005846b0
jmp 0x6107d9
mov eax, ecx
or eax, edx
je 0x61093e
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x6107d0
mov ecx, 1
xor edx, edx
push edx
push ecx
push edi
push esi
call fcn.00584bc0
mov ecx, dword [ebp - 0x104]
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xd8]
mov dword [ecx], eax
mov ax, word [ecx + 8]
mov dword [ecx + 4], edx
mov edx, 0xbe04
and ax, dx
or ax, 4
add ebx, 0x14
mov word [ecx + 8], ax
jmp 0x60fd53
mov byte [ebp - 0xed], 0
jmp 0x610821
mov esi, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0x100]
call fcn.0061eb30
mov ecx, esi
movsd qword [ebp - 0x128], xmm0
call fcn.0061eb30
movzx eax, byte [ebx]
movaps xmm1, xmm0
add eax, 0xffffffa7
movsd qword [ebp - 0x140], xmm1
cmp eax, 3
ja case.default.0x61084b
jmp dword [eax*4 + 0x6155c8]
addsd xmm1, qword [ebp - 0x128]
jmp 0x6108da
subsd xmm1, qword [ebp - 0x128]
jmp 0x6108da
mulsd xmm1, qword [ebp - 0x128]
jmp 0x6108da
movsd xmm0, qword [ebp - 0x128]
xorps xmm2, xmm2
ucomisd xmm0, xmm2
lahf
test ah, 0x44
jnp 0x61093e
divsd xmm1, xmm0
jmp 0x6108da
movsd xmm0, qword [ebp - 0x128]
call fcn.00584a3f
movsd xmm0, qword [ebp - 0x140]
mov esi, eax
mov edi, edx
call fcn.00584a3f
mov ecx, esi
or ecx, edi
je 0x61093e
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x6108c7
mov esi, 1
xor edi, edi
push edi
push esi
push edx
push eax
call fcn.00584bc0
mov ecx, eax
call fcn.00584b90
movaps xmm1, xmm0
movaps xmm0, xmm1
call fcn.0063b970
test eax, eax
jne 0x61093e
mov ecx, dword [ebp - 0x104]
mov edx, 0xbe08
mov ax, word [ecx + 8]
and ax, dx
movsd qword [ecx], xmm1
or ax, 8
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xec]
or al, byte [ebp - 0xf4]
test al, 8
jne 0x612a9c
cmp byte [ebp - 0xed], 0
jne 0x612a9c
call fcn.0061ea90
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov ecx, dword [ebp - 0x104]
call fcn.0061e800
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov eax, dword [ebx + 4]
test eax, eax
je 0x61097c
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.0061e710
add esp, 8
add ebx, 0x14
jmp 0x60fd53
movzx eax, byte [ebx + 3]
mov ecx, edi
mov dword [ebp - 0xec], eax
push 0
lea eax, [eax*4 + 0x1c]
push eax
call fcn.0063e290
mov esi, eax
add esp, 8
test esi, esi
je 0x615247
mov dword [esi], 0
mov eax, 0x66666667
mov ecx, dword [ebx + 0x10]
mov dword [esi + 4], ecx
mov ecx, ebx
sub ecx, dword [ebp - 0x110]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xd8]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xec]
mov dword [esi + 0xc], edx
mov byte [esi + 0x1a], al
mov word [ebx], 0xec24
mov dword [ebx + 0x10], esi
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [ebp - 0xec], edi
cmp dword [esi], edi
je 0x610a3d
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi], edi
js 0x610a3d
mov edi, dword [ebp - 0xe8]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebx + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + 4], eax
jns 0x610a21
mov edi, dword [ebp - 0xec]
mov ecx, dword [esi]
mov edx, 0xbe01
mov ax, word [ecx + 8]
and ax, dx
or ax, 1
mov word [ecx + 8], ax
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x134]
mov byte [esi + 0x19], 0
mov dword [eax + 0x20], ecx
mov ecx, dword [ebp - 0x138]
mov dword [eax + 0x24], ecx
lea eax, [esi + 0x1c]
mov ecx, dword [esi + 4]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov eax, dword [ecx + 0xc]
push esi
call eax
mov eax, dword [ebp - 0xe0]
add esp, 0xc
cmp byte [esi + 0x19], 0
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x138], eax
je 0x610ae3
cmp dword [esi + 0x14], 0
je 0x610acf
push dword [esi]
call fcn.006182d0
add esp, 4
push eax
push 0x6ce51c
push dword [ebp - 0xd8]
call fcn.0061d970
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0xdc], eax
push dword [ebx + 4]
mov edx, dword [esi + 0x10]
mov ecx, dword [ebp - 0xd8]
call fcn.0061a5d0
add esp, 4
test byte [edi + 8], 0x12
je 0x611902
movzx edx, byte [ebp - 0x11c]
mov ecx, dword [esi]
call fcn.0061f1c0
mov ecx, dword [esi]
call fcn.0061e5b0
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xd8]
test eax, eax
jne 0x6150c5
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [edx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [edx + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov al, byte [ecx + 8]
or al, byte [edi + 8]
mov dword [ebp - 0xec], edx
test al, 1
je 0x610b67
mov ecx, edx
call fcn.0061e800
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
jmp 0x60fd53
call fcn.0061eb90
mov esi, edx
mov dword [ebp - 0xfc], eax
mov ecx, edi
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x194], esi
call fcn.0061eb90
mov cl, byte [ebx]
mov edi, eax
cmp cl, 0x55
jne 0x610b9f
mov ecx, dword [ebp - 0xfc]
and ecx, edi
and esi, edx
jmp 0x610c92
cmp cl, 0x56
jne 0x610bb3
mov ecx, dword [ebp - 0xfc]
or ecx, edi
or esi, edx
jmp 0x610c92
mov eax, edi
or eax, edx
je 0x610c8c
test edx, edx
jg 0x610beb
jl 0x610bc7
test edi, edi
jae 0x610be0
mov al, 0xaf
sub al, cl
mov cl, al
cmp edx, 0xffffffff
jl 0x610beb
jg 0x610bd9
cmp edi, 0xffffffc0
jbe 0x610beb
neg edi
adc edx, 0
neg edx
test edx, edx
jl 0x610c22
jg 0x610beb
cmp edi, 0x40
jb 0x610c22
test esi, esi
jg 0x610c09
jl 0x610bfa
cmp dword [ebp - 0xfc], 0
jae 0x610c09
cmp cl, 0x57
je 0x610c09
or ecx, 0xffffffff
or esi, ecx
jmp 0x610c92
xorps xmm0, xmm0
movlpd qword [ebp - 0x140], xmm0
mov esi, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x140]
jmp 0x610c92
movq xmm1, qword [ebp - 0x198]
movd xmm0, edi
cmp cl, 0x57
jne 0x610c4d
psllq xmm1, xmm0
movq qword [ebp - 0x128], xmm1
mov esi, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
jmp 0x610c92
psrlq xmm1, xmm0
movq qword [ebp - 0x128], xmm1
test esi, esi
jg 0x610c3f
jl 0x610c68
cmp dword [ebp - 0xfc], 0
jae 0x610c3f
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, edi
or edx, 0xffffffff
call fcn.00584fb0
mov ecx, dword [ebp - 0x128]
mov esi, dword [ebp - 0x124]
or ecx, eax
or esi, edx
jmp 0x610c92
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xec]
mov edi, dword [ebp - 0xe0]
mov ax, word [edx + 8]
mov dword [edx], ecx
mov ecx, 0xbe04
and ax, cx
mov dword [edx + 4], esi
mov esi, dword [ebp - 0xd8]
or ax, 4
mov word [edx + 8], ax
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0061ea60
mov eax, dword [ebx + 8]
cdq
add dword [esi], eax
adc dword [esi + 4], edx
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 8]
test al, 4
jne 0x610d48
test al, 8
jne 0x610d1f
test al, 2
je 0x610d26
mov edx, 1
mov ecx, esi
call fcn.00615810
jmp 0x610d26
mov ecx, esi
call fcn.0061ea90
movzx eax, word [esi + 8]
test al, 4
jne 0x610d48
cmp dword [ebx + 8], 0
jne 0x614e06
mov eax, 0x14
mov dword [ebp - 0xdc], eax
jmp 0x612e07
and eax, 0xbe04
or eax, 4
add ebx, 0x14
mov word [esi + 8], ax
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 4
lea ecx, [ecx + eax*8]
je 0x61097c
call fcn.0061e9e0
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, 0x4000
test word [esi + 8], ax
je 0x610db2
mov ecx, esi
call fcn.0061efb0
mov dword [ebp - 0xdc], eax
jmp 0x610dbc
mov dword [ebp - 0xdc], 0
push dword [ebp - 0x11c]
mov dl, byte [ebx + 8]
mov ecx, esi
call fcn.0061e840
add esp, 4
jmp 0x614e22
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
movzx edx, word [ecx + eax*8 + 8]
lea esi, [ecx + eax*8]
movzx ecx, word [edi + 8]
mov eax, ecx
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0xf8], eax
mov al, dl
or al, cl
test al, 1
mov al, byte [ebx + 3]
je 0x610e78
test al, al
jns 0x610e37
mov eax, edx
and eax, ecx
xor ecx, ecx
bt ax, cx
jae 0x610e2d
test edx, 0x100
jne 0x610e2d
xor edx, edx
jmp 0x610f83
mov edx, 1
jmp 0x610f83
test al, 0x20
je 0x610e71
mov eax, dword [ebx + 8]
mov esi, 0xbe01
mov edx, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xe0]
lea ecx, [eax + eax*4]
mov ax, word [edx + ecx*8 + 8]
and ax, si
mov esi, dword [ebp - 0xd8]
or ax, 1
add ebx, 0x14
mov word [edx + ecx*8 + 8], ax
jmp 0x60fd53
test al, 0x10
jmp 0x612a96
and al, 0x47
cmp al, 0x43
jb 0x610eaa
and cl, 0xe
cmp cl, 2
jne 0x610e8f
xor edx, edx
mov ecx, edi
call fcn.00615810
mov al, byte [esi + 8]
and al, 0xe
cmp al, 2
jne 0x610f2a
xor edx, edx
mov ecx, esi
call fcn.00615810
jmp 0x610f2a
cmp al, 0x42
jne 0x610f2a
test cl, 2
jne 0x610eea
test cl, 0xc
je 0x610eea
mov dl, byte [ebp - 0x11c]
mov ecx, edi
push 1
call fcn.0061ee70
mov ax, word [edi + 8]
mov ecx, 0x1ff
xor ax, word [ebp - 0xf8]
add esp, 4
and ax, cx
xor ax, word [edi + 8]
movzx eax, ax
mov dword [ebp - 0xf8], eax
movzx eax, word [esi + 8]
test al, 2
jne 0x610f2a
test al, 0xc
je 0x610f2a
mov dl, byte [ebp - 0x11c]
mov ecx, esi
push 1
call fcn.0061ee70
mov ax, word [esi + 8]
add esp, 4
mov ecx, dword [ebp - 0xfc]
xor ax, cx
mov ecx, 0x1ff
and ax, cx
xor ax, word [esi + 8]
movzx eax, ax
mov dword [ebp - 0xfc], eax
mov eax, 0x4000
test word [edi + 8], ax
je 0x610f4b
mov ecx, edi
call fcn.0061efb0
and dword [ebp - 0xf8], 0xbfff
mov eax, 0x4000
test word [esi + 8], ax
je 0x610f62
mov ecx, esi
call fcn.0061efb0
and dword [ebp - 0xfc], 0xbfff
mov eax, dword [ebp - 0xe0]
cmp byte [eax + 0x41], 0
jne 0x615245
push dword [ebx + 0x10]
mov edx, edi
mov ecx, esi
call fcn.00619730
add esp, 4
mov edx, eax
movzx ecx, byte [ebx]
add ecx, 0xffffffb2
cmp ecx, 4
ja case.default.0x610f8e
jmp dword [ecx*4 + 0x6155d8]
xor eax, eax
test edx, edx
sete al
jmp 0x610fc4
xor eax, eax
test edx, edx
setne al
jmp 0x610fc4
mov eax, edx
jmp 0x610fc1
xor eax, eax
test edx, edx
setle al
jmp 0x610fc4
xor eax, eax
test edx, edx
setg al
jmp 0x610fc4
mov eax, edx
not eax
shr eax, 0x1f
mov ecx, dword [ebp - 0xf8]
mov word [edi + 8], cx
mov ecx, dword [ebp - 0xfc]
mov word [esi + 8], cx
test byte [ebx + 3], 0x20
je 0x61101c
mov ecx, dword [ebx + 8]
mov edx, 0xbe04
mov edi, dword [ebp - 0xe8]
lea esi, [ecx + ecx*4]
mov cx, word [edi + esi*8 + 8]
and cx, dx
cdq
or cx, 4
mov dword [edi + esi*8], eax
mov word [edi + esi*8 + 8], cx
add ebx, 0x14
mov dword [edi + esi*8 + 4], edx
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
test eax, eax
jmp 0x612a96
mov eax, dword [ebx + 0x10]
add ebx, 0x14
mov dword [ebp - 0x15c], eax
jmp 0x60fd53
test byte [ebx + 3], 1
mov edi, 0
mov ecx, dword [ebx + 4]
cmovne edi, dword [ebp - 0x15c]
xor esi, esi
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebx + 8]
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xf4], edx
mov dword [ebp - 0xec], ecx
test eax, eax
jle 0x611102
test edi, edi
je 0x61107b
mov ecx, dword [edi + esi*4]
jmp 0x61107d
mov ecx, esi
mov eax, dword [edx + 0x10]
push dword [edx + esi*4 + 0x14]
mov edx, dword [ebp - 0xe8]
movzx eax, byte [eax + esi]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xec]
add eax, ecx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0x108]
add eax, ecx
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.00619730
add esp, 4
mov dword [ebp - 0x160], eax
test eax, eax
jne 0x6110f1
mov edx, dword [ebp - 0xf4]
inc esi
cmp esi, dword [ebp - 0x10c]
jl 0x611072
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0x15c], eax
jmp 0x60fd53
cmp dword [ebp - 0x114], 0
je 0x611102
neg eax
mov dword [ebp - 0x160], eax
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0x15c], 0
jmp 0x60fd53
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x110]
test eax, eax
jns 0x611138
mov eax, dword [ebx + 4]
jmp 0x60fd4d
jne 0x611142
mov eax, dword [ebx + 8]
jmp 0x60fd4d
mov eax, dword [ebx + 0xc]
jmp 0x60fd4d
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x611167
mov esi, 2
jmp 0x611179
call fcn.0061eb90
or eax, edx
je 0x611177
mov esi, 1
jmp 0x611179
xor esi, esi
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x611196
mov eax, 2
jmp 0x6111a8
call fcn.0061eb90
or eax, edx
je 0x6111a6
mov eax, 1
jmp 0x6111a8
xor eax, eax
cmp byte [ebx], 0x48
lea eax, [eax + esi*2]
jne 0x6111b9
mov al, byte [esi + eax + 0x69ec48]
jmp 0x6111c0
mov al, byte [esi + eax + 0x69c860]
movzx edx, al
mov eax, dword [ebx + 0xc]
lea ecx, [eax + eax*4]
cmp edx, 2
jne 0x6111f8
mov edx, dword [ebp - 0xe8]
mov esi, 0xbe01
mov ax, word [edx + ecx*8 + 8]
and ax, si
mov esi, dword [ebp - 0xd8]
or ax, 1
add ebx, 0x14
mov word [edx + ecx*8 + 8], ax
jmp 0x60fd53
mov eax, dword [ebp - 0xe8]
mov esi, 0xbe04
mov dword [eax + ecx*8], edx
mov edx, eax
mov ax, word [edx + ecx*8 + 8]
and ax, si
mov dword [edx + ecx*8 + 4], 0
mov esi, dword [ebp - 0xd8]
or ax, 4
mov word [edx + ecx*8 + 8], ax
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0061e800
test byte [edi + 8], 1
jne 0x612a9c
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.0061eb90
or eax, edx
jne 0x61128c
mov edi, dword [ebp - 0xe0]
xor ecx, ecx
mov eax, 1
mov dword [esi + 4], ecx
mov dword [esi], eax
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov edi, dword [ebp - 0xe0]
xorps xmm0, xmm0
movlpd qword [ebp - 0x140], xmm0
add ebx, 0x14
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x140]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0061e800
test byte [edi + 8], 1
jne 0x612a9c
mov eax, 4
mov ecx, edi
mov word [esi + 8], ax
call fcn.0061eb90
mov edi, dword [ebp - 0xe0]
not eax
not edx
mov dword [esi], eax
mov dword [esi + 4], edx
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov eax, dword [esi + 0xc8]
mov ecx, dword [ebx + 4]
cmp byte [eax + ecx], 0
jne 0x614e06
mov byte [eax + ecx], 1
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
lea ecx, [ecx + eax*8]
je 0x61134c
mov eax, dword [ebx + 0xc]
jmp 0x61136f
call fcn.0061eb30
xorps xmm1, xmm1
ucomisd xmm0, xmm1
lahf
test ah, 0x44
jnp 0x611365
mov eax, 1
jmp 0x611367
xor eax, eax
cmp byte [ebx], 0x2e
jne 0x61136f
xor eax, 1
test eax, eax
jne 0x614e06
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
jne 0x614e06
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 1
je 0x614e06
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xe4], eax
mov eax, dword [esi + 0x38]
mov edi, dword [eax + ecx*4]
mov ecx, edi
mov dword [ebp - 0x118], edi
mov esi, dword [edi + 0x50]
mov eax, dword [edi]
mov dword [ebp - 0xfc], esi
mov dword [ebp - 0x100], eax
call fcn.0061a060
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x612e01
mov edx, dword [ebp - 0xd8]
mov eax, dword [edi + 0x3c]
cmp eax, dword [edx + 0x48]
je 0x61158b
cmp byte [edi + 0x19], 0
je 0x611465
cmp dword [ebp - 0x100], 0
jne 0x611453
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8 + 0xc]
mov dword [edi + 0x44], esi
mov dword [edi + 0x40], esi
mov eax, dword [ecx + eax*8 + 0x10]
mov dword [edi + 0x4c], eax
jmp 0x611500
mov esi, dword [ebp - 0xe4]
mov ecx, esi
call fcn.0061e800
jmp 0x61186f
test byte [edi + 0x1c], 4
mov ecx, dword [ebp - 0x100]
jne 0x6114b5
call fcn.00626ed0
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x1a0], eax
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x19c], eax
movsx eax, byte [edx + 0x44]
mov ecx, dword [edx + 0x18]
mov eax, dword [edx + eax*4 + 0x78]
mov esi, dword [eax + 0x3c]
movzx eax, word [edx + 0x20]
sub esi, ecx
cmp eax, esi
mov dword [edi + 0x4c], ecx
cmovb esi, eax
mov eax, dword [ebp - 0x1a0]
mov dword [edi + 0x40], eax
jmp 0x6114e2
call fcn.00626ed0
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 0x1c]
mov dword [edi + 0x40], eax
movsx eax, byte [edx + 0x44]
mov ecx, dword [edx + 0x18]
mov eax, dword [edx + eax*4 + 0x78]
mov esi, dword [eax + 0x3c]
movzx eax, word [edx + 0x20]
sub esi, ecx
cmp eax, esi
mov dword [edi + 0x4c], ecx
cmovb esi, eax
mov eax, dword [edi + 0x40]
cmp eax, esi
ja 0x6114ee
mov dword [edi + 0x44], eax
jmp 0x6114f1
mov dword [edi + 0x44], esi
mov ecx, dword [ebp - 0xe0]
cmp eax, dword [ecx + 0x58]
ja 0x6150bd
mov eax, dword [ebp - 0xd8]
mov ecx, dword [edi + 0x4c]
mov eax, dword [eax + 0x48]
mov dword [edi + 0x3c], eax
mov al, byte [ecx]
cmp al, 0x80
jae 0x611525
movzx ecx, al
mov eax, 1
mov dword [ebp - 0x164], ecx
jmp 0x611539
lea edx, [ebp - 0x164]
call fcn.0063a640
mov ecx, dword [ebp - 0x164]
movzx eax, al
movzx eax, al
mov dword [edi + 0x48], eax
xor eax, eax
mov word [edi + 0x16], ax
mov eax, dword [ebp - 0xfc]
mov dword [eax], ecx
cmp ecx, 0x18003
ja 0x611570
cmp ecx, dword [edi + 0x40]
ja 0x611570
cmp esi, ecx
mov esi, eax
jae 0x61159b
mov dword [edi + 0x4c], 0
mov dword [edi + 0x44], 0
jmp 0x61159b
mov ecx, 0x1242b
call fcn.005c0b30
mov dword [ebp - 0xdc], eax
mov edi, dword [ebp - 0xe0]
jmp 0x614e28
movzx eax, word [edi + 0x16]
cmp eax, dword [ebp - 0xf8]
jg 0x611765
mov eax, dword [edi + 0x48]
cmp eax, dword [esi]
jae 0x611732
mov ecx, dword [edi + 0x4c]
mov dword [ebp - 0x114], ecx
test ecx, ecx
jne 0x611607
mov ecx, dword [ebp - 0x100]
lea eax, [ebp - 0x248]
push eax
xorps xmm0, xmm0
xor edx, edx
movups xmmword [ebp - 0x248], xmm0
movups xmmword [ebp - 0x238], xmm0
movq qword [ebp - 0x228], xmm0
mov eax, dword [edi + 0x1c]
shr eax, 2
not eax
and eax, 1
push eax
push dword [esi]
call fcn.0061e0f0
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x611580
mov ecx, dword [ebp - 0x238]
mov dword [ebp - 0x114], ecx
movzx edx, word [edi + 0x16]
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x10c], edx
mov edi, dword [esi + edx*4]
mov esi, dword [eax + 0x48]
lea eax, [eax + edx*4]
add esi, ecx
mov ecx, dword [ebp - 0xfc]
mov ecx, dword [ecx]
add ecx, dword [ebp - 0x114]
add eax, 0x54
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0x104], eax
nop
mov al, byte [esi]
cmp al, 0x80
jae 0x611656
movzx ecx, al
mov eax, 1
mov dword [ebp - 0x168], ecx
jmp 0x611672
lea edx, [ebp - 0x168]
mov ecx, esi
call fcn.0063a640
mov ecx, dword [ebp - 0x168]
mov edx, dword [ebp - 0x10c]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0x104]
mov dword [eax], ecx
call fcn.00619f40
add edi, eax
mov dword [ebp - 0x164], edi
cmp edi, eax
jb 0x6116b6
mov eax, dword [ebp - 0xfc]
inc edx
add dword [ebp - 0x104], 4
mov dword [ebp - 0x10c], edx
mov dword [eax + edx*4], edi
cmp edx, dword [ebp - 0xf8]
jg 0x6116bd
cmp esi, dword [ebp - 0xf4]
jb 0x611640
jmp 0x6116bd
mov esi, dword [ebp - 0xf4]
inc esi
mov ecx, dword [ebp - 0x118]
mov eax, esi
sub eax, dword [ebp - 0x114]
cmp dword [ecx + 0x4c], 0
mov word [ecx + 0x16], dx
mov dword [ecx + 0x48], eax
jne 0x6116f5
lea ecx, [ebp - 0x248]
call fcn.0061eca0
mov ecx, dword [ebp - 0x118]
mov eax, 1
mov word [ebp - 0x240], ax
mov eax, dword [ebp - 0xf4]
cmp esi, eax
jb 0x611706
ja 0x61170b
cmp edi, dword [ecx + 0x40]
jne 0x61170b
cmp edi, dword [ecx + 0x40]
jbe 0x611726
mov ecx, 0x1247f
call fcn.005c0b30
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
jmp 0x614e28
mov edi, dword [ebp - 0x118]
mov esi, dword [ebp - 0xfc]
movzx eax, word [edi + 0x16]
cmp eax, dword [ebp - 0xf8]
jg 0x611765
cmp byte [ebx + 1], 0xf8
mov esi, dword [ebp - 0xe4]
mov ecx, esi
jne 0x61145b
mov edx, dword [ebx + 0x10]
push 0x800
call fcn.0061e530
add esp, 4
jmp 0x61186f
mov ecx, dword [ebp - 0xe4]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x61177b
call fcn.0061e800
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [edi + eax*4 + 0x54]
mov eax, dword [edi + 0x44]
cmp eax, dword [esi + ecx*4 + 4]
mov ecx, dword [ebp - 0xe4]
mov dword [ebp - 0xec], edx
mov dword [ebp - 0x168], edx
jb 0x6117c6
mov eax, dword [ebp - 0xf8]
push ecx
mov ecx, dword [edi + 0x4c]
add ecx, dword [esi + eax*4]
call fcn.00619c20
mov esi, dword [ebp - 0xe4]
add esp, 4
jmp 0x611866
mov al, byte [ebx + 3]
test al, 0xc0
je 0x6117db
cmp edx, 0xc
jb 0x6117d7
test dl, 1
je 0x6117e8
test al, al
js 0x6117e8
mov ecx, edx
call fcn.00619f40
mov ecx, eax
test ecx, ecx
jne 0x611807
mov esi, dword [ebp - 0xe4]
lea ecx, [ebp - 0x1a0]
xor eax, eax
cmp edx, 0xd
push esi
cmova ecx, eax
call fcn.00619c20
add esp, 4
jmp 0x611866
mov eax, dword [edi + 0x1c]
push dword [ebp - 0xe4]
shr eax, 2
not eax
and eax, 1
push eax
mov eax, dword [ebp - 0xf8]
push ecx
mov ecx, dword [ebp - 0x100]
mov edx, dword [esi + eax*4]
call fcn.0061e0f0
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x611580
mov eax, dword [ebp - 0xe4]
mov edx, dword [ebp - 0xec]
push eax
mov ecx, dword [eax + 0x10]
call fcn.00619c20
mov esi, dword [ebp - 0xe4]
mov eax, 0xefff
add esp, 4
and word [esi + 8], ax
mov al, byte [ebp - 0x11c]
mov byte [esi + 0xa], al
movzx ecx, word [esi + 8]
test ecx, 0x1000
je 0x611902
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xec], eax
test eax, eax
je 0x611902
mov eax, dword [ebp - 0xe4]
mov esi, ecx
and esi, 0x12
mov edi, dword [eax + 0xc]
lea edx, [edi + 2]
cmp dword [eax + 0x18], edx
jge 0x6118be
push 0
mov ecx, eax
call fcn.0061f090
add esp, 4
test eax, eax
jne 0x615095
mov edx, dword [ebp - 0xe4]
jmp 0x6118d1
mov edx, dword [ebp - 0xe4]
and ecx, 0xd
mov eax, dword [eax + 0x14]
mov dword [edx + 0x10], eax
mov word [edx + 8], cx
push edi
push dword [ebp - 0xec]
push dword [edx + 0x10]
call fcn.00587150
mov ecx, dword [ebp - 0xe4]
add esp, 0xc
or esi, 0x200
mov eax, dword [ecx + 0x10]
mov byte [edi + eax], 0
mov eax, dword [ecx + 0x10]
mov byte [edi + eax + 1], 0
mov word [ecx + 8], si
mov edi, dword [ebp - 0xe0]
jmp 0x614e22
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [esi]
test al, al
je 0x612a9c
nop dword [eax]
push dword [ebp - 0x11c]
mov dl, al
lea esi, [esi + 1]
mov ecx, edi
call fcn.006157b0
mov al, byte [esi]
add esp, 4
add edi, 0x28
test al, al
jne 0x611930
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov edi, dword [ebp - 0xe8]
xor eax, eax
mov dword [ebp - 0xf8], eax
xorps xmm0, xmm0
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0x10]
movlpd qword [ebp - 0x140], xmm0
movlpd qword [ebp - 0x178], xmm0
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x114], ecx
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xd8]
movzx edx, byte [eax + 0x57]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xf4], edx
lea eax, [eax + eax*4]
lea edi, [edi + eax*8]
mov dword [ebp - 0xec], edi
test esi, esi
je 0x6119f5
mov al, byte [esi]
mov edi, ecx
nop
push dword [ebp - 0x11c]
mov dl, al
mov ecx, edi
call fcn.006157b0
mov al, byte [esi + 1]
lea esi, [esi + 1]
add esp, 4
add edi, 0x28
test al, al
jne 0x6119d0
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0x13c]
mov esi, dword [ebp - 0x108]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x174]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0xfc], eax
nop dword [eax + eax]
mov ecx, esi
call fcn.00619f60
mov edi, eax
mov ecx, edi
mov dword [esi + 0x1c], edi
call fcn.00619f40
mov ecx, 0x4000
mov dword [ebp - 0x10c], eax
test word [esi + 8], cx
je 0x611a90
mov ecx, dword [ebp - 0x100]
or ecx, dword [ebp - 0x118]
je 0x611a79
mov ecx, esi
call fcn.0061efb0
test eax, eax
jne 0x615095
mov eax, dword [ebp - 0x10c]
jmp 0x611a90
mov eax, dword [esi]
cdq
add dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x10c]
adc dword [ebp - 0x104], edx
sub eax, dword [esi]
cdq
add dword [ebp - 0x100], eax
adc dword [ebp - 0x118], edx
cmp edi, 0x7f
ja 0x611aa9
mov eax, 1
jmp 0x611ab4
push 0
push edi
call fcn.0063a600
add esp, 8
mov ecx, dword [ebp - 0xf8]
sub esi, 0x28
mov edx, dword [ebp - 0xf4]
add ecx, eax
mov dword [ebp - 0xf8], ecx
cmp esi, dword [ebp - 0x114]
jae 0x611a30
cmp ecx, 0x7e
jle 0x611b0b
mov eax, ecx
cdq
push edx
push eax
call fcn.0063a600
mov esi, eax
mov eax, dword [ebp - 0xf8]
add eax, esi
mov dword [ebp - 0xf8], eax
cdq
push edx
push eax
call fcn.0063a600
mov ecx, dword [ebp - 0xf8]
add esp, 0x10
cmp esi, eax
jge 0x611b12
inc ecx
mov dword [ebp - 0xf8], ecx
mov edi, dword [ebp - 0x118]
mov eax, ecx
cdq
mov esi, eax
mov eax, edx
mov edx, dword [ebp - 0x100]
add edx, esi
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xf4], esi
mov esi, edx
adc edi, eax
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0xe0]
add esi, dword [ebp - 0xfc]
adc edi, dword [ebp - 0x104]
mov eax, dword [eax + 0x58]
cdq
cmp edi, edx
jg 0x61316c
jl 0x611b65
cmp esi, eax
ja 0x61316c
mov esi, dword [ebp - 0xec]
mov eax, dword [ebp - 0x100]
cmp dword [esi + 0x18], eax
jge 0x611b94
push 0
mov edx, eax
mov ecx, esi
call fcn.0061f090
add esp, 4
test eax, eax
jne 0x615095
mov ecx, dword [ebp - 0xf8]
jmp 0x611b9f
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov edi, dword [esi + 0x10]
cmp ecx, 0x80
jae 0x611bb3
mov byte [edi], cl
mov eax, 1
jmp 0x611bc9
push dword [ebp - 0x10c]
mov ecx, edi
push dword [ebp - 0xf4]
call fcn.0063a840
add esp, 8
mov ebx, dword [ebp - 0x114]
mov ecx, dword [ebp - 0xf8]
movzx esi, al
nop dword [eax + eax]
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x10c], eax
cmp eax, 0x80
jae 0x611bfa
mov byte [esi + edi], al
mov eax, 1
jmp 0x611c0e
push 0
push eax
lea ecx, [esi + edi]
call fcn.0063a840
mov ecx, dword [ebp - 0xf8]
add esp, 8
push dword [ebp - 0x10c]
movzx eax, al
add ecx, edi
mov edx, ebx
add esi, eax
call fcn.00619ee0
mov ecx, dword [ebp - 0xf8]
add ebx, 0x28
add ecx, eax
add esp, 4
mov dword [ebp - 0xf8], ecx
cmp ebx, dword [ebp - 0x108]
jbe 0x611be0
mov edi, dword [ebp - 0xec]
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xfc]
mov ebx, dword [ebp - 0xe4]
mov dword [edi + 0xc], eax
mov eax, 0x10
mov word [edi + 8], ax
mov eax, ecx
or eax, dword [ebp - 0x104]
je 0x611c77
mov eax, 0x4010
mov dword [edi], ecx
mov word [edi + 8], ax
mov esi, dword [ebp - 0xd8]
add ebx, 0x14
mov byte [edi + 0xa], 1
mov edi, dword [ebp - 0xe0]
jmp 0x60fd53
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x178]
mov eax, dword [esi + 0x38]
xorps xmm0, xmm0
movlpd qword [ebp - 0x178], xmm0
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
call fcn.00621590
mov dword [ebp - 0xdc], eax
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x611cf0
call fcn.006155f0
mov ecx, eax
mov eax, dword [ebp - 0x178]
mov dword [ecx], eax
mov eax, dword [ebp - 0x174]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x178]
mov dword [ecx], eax
mov eax, dword [ebp - 0x174]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov eax, dword [ebx + 4]
test eax, eax
mov edi, dword [ebx + 0x10]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xe0]
jne 0x611e0a
cmp dword [eax + 0x9c], 0
jg 0x614ef7
mov ecx, edi
call fcn.0063b940
mov esi, eax
xor edx, edx
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xec], esi
mov ecx, dword [eax + 0x1f4]
add ecx, dword [eax + 0x1f0]
push ecx
mov ecx, eax
call fcn.005d3830
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x612e01
mov ecx, dword [ebp - 0xe0]
lea eax, [esi + 0x21]
push 0
push eax
call fcn.0063e290
mov esi, eax
add esp, 8
test esi, esi
je 0x612a9c
mov ecx, dword [ebp - 0xec]
lea edx, [esi + 0x20]
inc ecx
mov dword [esi], edx
push ecx
push edi
push edx
call fcn.00587150
mov edi, dword [ebp - 0xe0]
add esp, 0xc
cmp byte [edi + 0x3f], 0
je 0x611dc3
mov byte [edi + 0x3f], 0
mov byte [edi + 0x46], 1
jmp 0x611dc9
inc dword [edi + 0x1f0]
mov eax, dword [edi + 0x1e8]
add ebx, 0x14
mov dword [esi + 0x18], eax
mov eax, dword [edi + 0x1f8]
mov dword [edi + 0x1e8], esi
mov dword [esi + 8], eax
mov eax, dword [edi + 0x1fc]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0x200]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x204]
mov dword [esi + 0x14], eax
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov esi, dword [eax + 0x1e8]
xor ecx, ecx
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf4], esi
test esi, esi
je 0x611e44
push edi
push dword [esi]
call fcn.0063b5c0
add esp, 8
test eax, eax
je 0x611e6c
mov esi, dword [esi + 0x18]
inc dword [ebp - 0xf8]
mov dword [ebp - 0xf4], esi
test esi, esi
jne 0x611e22
mov esi, dword [ebp - 0xd8]
push edi
push str.no_such_savepoint:__s
push esi
call fcn.0061d970
mov edi, dword [ebp - 0xe0]
add esp, 0xc
mov eax, 1
add ebx, 0x14
jmp 0x615264
mov edi, dword [ebp - 0xe0]
mov edx, dword [ebp - 0xfc]
cmp dword [edi + 0x9c], 0
jle 0x611e8a
cmp edx, 1
je 0x614f18
cmp dword [esi + 0x18], 0
jne 0x611eee
cmp byte [edi + 0x46], 0
je 0x611eee
mov dword [ebp - 0x114], 1
cmp edx, 1
jne 0x611ef8
mov ecx, dword [ebp - 0xd8]
call fcn.0061abd0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6152fa
mov ecx, dword [ebp - 0xd8]
mov byte [edi + 0x3f], 1
call fcn.0061a8e0
cmp eax, 5
je 0x614f39
mov eax, dword [ebp - 0xd8]
mov byte [edi + 0x46], 0
mov eax, dword [eax + 0x50]
mov dword [ebp - 0xdc], eax
jmp 0x611fee
mov dword [ebp - 0x114], 0
mov eax, dword [edi + 0x1f0]
sub eax, dword [ebp - 0xf8]
dec eax
mov dword [ebp - 0xf8], eax
cmp edx, 2
jne 0x612023
mov eax, dword [edi + 0x18]
xor edi, edi
mov ecx, dword [ebp - 0xe0]
shr eax, 1
and eax, 1
mov dword [ebp - 0xec], eax
cmp dword [ecx + 0x14], edi
jle 0x611f7e
xor eax, 1
xor esi, esi
mov dword [ebp - 0x108], eax
nop word [eax + eax]
mov ecx, dword [ecx + 0x10]
mov edx, 0x204
push eax
mov ecx, dword [esi + ecx + 4]
call fcn.00627430
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x612e01
mov ecx, dword [ebp - 0xe0]
inc edi
mov eax, dword [ebp - 0x108]
add esi, 0x10
cmp edi, dword [ecx + 0x14]
jl 0x611f40
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0xf8]
xor edi, edi
cmp dword [ecx + 0x14], edi
jle 0x611fc9
xor esi, esi
nop dword [eax]
mov ecx, dword [ecx + 0x10]
push eax
mov ecx, dword [esi + ecx + 4]
call fcn.00627230
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x612e01
mov ecx, dword [ebp - 0xe0]
inc edi
mov eax, dword [ebp - 0xf8]
add esi, 0x10
mov edx, dword [ebp - 0xfc]
cmp edi, dword [ecx + 0x14]
jl 0x611f90
cmp dword [ebp - 0xec], 0
mov edi, dword [ebp - 0xe0]
je 0x611fe8
mov ecx, edi
call fcn.006189b0
call fcn.005fe170
or dword [edi + 0x18], 2
mov esi, dword [ebp - 0xf4]
cmp dword [edi + 0x1e8], esi
je 0x612071
nop word [eax + eax]
cmp dword [edi + 0x208], 0
mov ecx, dword [edi + 0x1e8]
mov eax, dword [ecx + 0x18]
mov dword [edi + 0x1e8], eax
je 0x612034
mov edx, ecx
mov ecx, edi
call fcn.0063e5b0
jmp 0x612063
mov dword [ebp - 0xec], 0
mov ecx, edi
jmp 0x611f84
cmp ecx, dword [edi + 0x114]
jb 0x61205a
cmp ecx, dword [edi + 0x118]
jae 0x61205a
mov eax, dword [edi + 0x110]
mov dword [ecx], eax
dec dword [edi + 0xfc]
mov dword [edi + 0x110], ecx
jmp 0x612063
push ecx
call fcn.0063e5f0
add esp, 4
dec dword [edi + 0x1f0]
cmp dword [edi + 0x1e8], esi
jne 0x612000
mov ecx, dword [ebp - 0xfc]
cmp ecx, 1
jne 0x6120a3
mov eax, dword [esi + 0x18]
mov edx, esi
mov ecx, edi
mov dword [edi + 0x1e8], eax
call fcn.0063e560
cmp dword [ebp - 0x114], 0
jne 0x614e22
dec dword [edi + 0x1f0]
jmp 0x6120d9
cmp dword [ebp - 0x114], 0
mov eax, dword [esi + 8]
mov dword [edi + 0x1f8], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x1fc], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x200], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x204], eax
je 0x6120d9
cmp ecx, 2
jne 0x614e22
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xfc]
push ecx
mov ecx, edi
call fcn.005d3830
mov esi, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x612e0d
jmp 0x614e2e
mov edx, dword [ebx + 8]
test edx, edx
je 0x61211d
test dword [edi + 0x18], 0x2000000
jne 0x614f70
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
shl ecx, 4
mov esi, dword [ecx + eax + 4]
test esi, esi
je 0x61222c
mov ecx, esi
call fcn.00628190
mov dword [ebp - 0xdc], eax
cmp al, 5
je 0x614f80
test eax, eax
jne 0x612e07
cmp dword [ebx + 8], eax
je 0x6121fe
mov ecx, dword [ebp - 0xd8]
test byte [ecx + 0x58], 0x20
je 0x6121fe
cmp byte [edi + 0x3f], al
je 0x61217a
cmp dword [edi + 0x98], 1
jle 0x6121fe
cmp dword [ecx + 0x68], 0
jne 0x612195
mov eax, dword [edi + 0x1f0]
inc dword [edi + 0x1f4]
add eax, dword [edi + 0x1f4]
mov dword [ecx + 0x68], eax
mov eax, dword [ecx + 0x68]
xor edx, edx
dec eax
mov ecx, edi
push eax
call fcn.005d3830
mov ecx, eax
add esp, 4
mov dword [ebp - 0xdc], ecx
test ecx, ecx
jne 0x6121c8
mov eax, dword [ebp - 0xd8]
mov ecx, esi
mov edx, dword [eax + 0x68]
call fcn.006272c0
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xd8]
mov eax, dword [edi + 0x1f8]
mov dword [ecx + 0x98], eax
mov eax, dword [edi + 0x1fc]
mov dword [ecx + 0x9c], eax
mov eax, dword [edi + 0x200]
mov dword [ecx + 0xa0], eax
mov eax, dword [edi + 0x204]
mov dword [ecx + 0xa4], eax
lea eax, [ebp - 0x17c]
mov edx, 1
push eax
mov ecx, esi
call fcn.00621870
mov ecx, dword [ebx + 4]
add esp, 4
mov eax, dword [edi + 0x10]
mov esi, dword [ebp - 0x17c]
shl ecx, 4
mov eax, dword [ecx + eax + 0xc]
mov eax, dword [eax + 4]
jmp 0x612236
xor esi, esi
xor eax, eax
mov dword [ebp - 0x17c], esi
cmp byte [ebx + 3], 0
je 0x614e22
cmp esi, dword [ebx + 0xc]
jne 0x61224e
cmp eax, dword [ebx + 0x10]
je 0x614e22
mov eax, dword [ebp - 0xd8]
mov ecx, edi
mov edx, dword [eax + 0x2c]
call fcn.0063e560
mov edx, 0x6ce664
mov ecx, edi
call fcn.0063e0e0
mov edx, dword [ebp - 0xd8]
mov dword [edx + 0x2c], eax
mov edx, dword [ebx + 4]
mov ecx, edx
mov eax, dword [edi + 0x10]
shl ecx, 4
mov eax, dword [ecx + eax + 0xc]
cmp dword [eax], esi
je 0x61228d
mov ecx, edi
call fcn.005fe200
mov esi, dword [ebp - 0xd8]
mov eax, 0x11
mov dword [ebp - 0xdc], eax
or dword [esi + 0x58], 8
jmp 0x614e2e
mov ecx, dword [edi + 0x10]
lea eax, [ebp - 0x188]
mov edx, dword [ebx + 0xc]
push eax
mov eax, dword [ebx + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00621870
mov eax, dword [ebx + 8]
add esp, 4
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x6122f7
call fcn.006155f0
mov ecx, eax
add ebx, 0x14
mov eax, dword [ebp - 0x188]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x60fd53
mov eax, 4
add ebx, 0x14
mov word [ecx + 8], ax
mov eax, dword [ebp - 0x188]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x60fd53
mov eax, dword [ebx + 0xc]
mov esi, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
shl esi, 4
add esi, dword [edi + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.0061ea60
push dword [edi]
mov edx, dword [ebx + 8]
mov ecx, dword [esi + 4]
call fcn.006217a0
mov dword [ebp - 0xdc], eax
add esp, 4
mov eax, dword [ebx + 8]
cmp eax, 1
jne 0x612364
mov eax, dword [edi]
mov ecx, dword [esi + 0xc]
mov edi, dword [ebp - 0xe0]
mov dword [ecx], eax
or dword [edi + 0x18], 2
jmp 0x612377
cmp eax, 2
jne 0x612371
mov ecx, dword [esi + 0xc]
mov al, byte [edi]
mov byte [ecx + 0x4c], al
mov edi, dword [ebp - 0xe0]
cmp dword [ebx + 4], 1
jne 0x614e22
mov ecx, edi
call fcn.006189b0
mov esi, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
and dword [esi + 0x58], 0xfffffff7
jmp 0x614e2e
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x6123b6
mov eax, dword [esi + 0x20]
cmp eax, dword [ebx + 8]
je 0x6124f6
mov esi, dword [ebp - 0xd8]
mov cl, byte [ebp - 0xed]
test byte [esi + 0x58], 8
jne 0x614fbd
mov edx, dword [ebx + 8]
xor edi, edi
mov esi, dword [ebx + 0xc]
mov eax, esi
mov dword [ebp - 0xf4], edx
mov edx, dword [ebp - 0xe0]
shl eax, 4
mov dword [ebp - 0xec], edi
mov dword [ebp - 0x10c], esi
add eax, dword [edx + 0x10]
mov edx, dword [eax + 4]
mov dword [ebp - 0x114], edx
mov edx, dword [ebp - 0xf4]
cmp cl, 0x37
jne 0x612428
mov eax, dword [eax + 0xc]
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0x108], 1
mov al, byte [eax + 0x4c]
cmp al, byte [ecx + 0x57]
jae 0x61242e
mov byte [ecx + 0x57], al
jmp 0x61242e
mov dword [ebp - 0x108], edi
test byte [ebx + 3], 4
je 0x61245e
mov ecx, dword [ebp - 0xe8]
lea eax, [edx + edx*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0061ea60
mov eax, dword [esi]
mov dword [ebp - 0xf4], eax
cmp eax, 2
jl 0x614fae
mov esi, dword [ebp - 0x10c]
mov al, byte [ebx + 1]
cmp al, 0xfa
jne 0x61247a
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xec], eax
movzx edi, word [eax + 8]
movzx eax, word [eax + 6]
add edi, eax
jmp 0x612481
cmp al, 0xf2
jne 0x612481
mov edi, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, dword [ebp - 0xd8]
push 1
push esi
push edi
call fcn.006158a0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x615095
push dword [esi]
mov edi, dword [ebp - 0xec]
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0x114]
or dword [esi + 0x1c], 8
push edi
push dword [ebp - 0x108]
mov byte [esi + 0x19], 1
mov dword [esi + 0x20], edx
call fcn.006270f0
xor ecx, ecx
mov dword [ebp - 0xdc], eax
add esp, 0xc
mov dword [esi + 8], edi
cmp byte [ebx + 1], 0xfa
mov eax, 4
mov edi, dword [ebp - 0xe0]
cmovne ecx, eax
mov eax, dword [esi + 0x1c]
and eax, 0xfffffffb
or ecx, eax
mov dword [esi + 0x1c], ecx
mov cl, byte [ebx + 3]
mov eax, dword [esi]
and cl, 3
mov byte [eax + 0x43], cl
jmp 0x614e22
mov edx, dword [ebx + 4]
mov ecx, esi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.006158a0
mov esi, eax
add esp, 0xc
test esi, esi
je 0x615247
or dword [esi + 0x1c], 1
lea edi, [esi + 4]
mov byte [esi + 0x19], 1
xor edx, edx
movzx eax, byte [ebx + 3]
push 0x41e
or eax, 5
push eax
mov eax, dword [ebp - 0xe0]
push edi
push eax
mov ecx, dword [eax]
call fcn.00628db0
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6125ec
mov ecx, dword [edi]
lea edx, [eax + 1]
call fcn.00628190
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6125ec
mov eax, dword [ebx + 0x10]
mov ecx, dword [edi]
mov dword [ebp - 0xec], eax
test eax, eax
je 0x6125cf
movzx eax, byte [ebx + 3]
lea edx, [ebp - 0x18c]
or eax, 2
push eax
call fcn.00621df0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6125c9
push dword [esi]
mov eax, dword [ebp - 0xec]
mov edx, dword [ebp - 0x18c]
mov ecx, dword [edi]
push eax
push 1
mov dword [esi + 8], eax
call fcn.006270f0
add esp, 0xc
mov dword [ebp - 0xdc], eax
and dword [esi + 0x1c], 0xfffffffb
jmp 0x6125ec
push dword [esi]
mov edx, 1
push 0
push 1
call fcn.006270f0
add esp, 0xc
mov dword [ebp - 0xdc], eax
or dword [esi + 0x1c], 4
mov edi, dword [ebp - 0xe0]
xor ecx, ecx
cmp byte [ebx + 3], 8
mov eax, 8
cmovne ecx, eax
mov eax, dword [esi + 0x1c]
and eax, 0xfffffff7
or ecx, eax
mov dword [esi + 0x1c], ecx
jmp 0x614e22
mov edx, dword [ebx + 4]
mov ecx, esi
push 1
push 0xffffffffffffffff
push dword [ebx + 8]
call fcn.006158a0
add esp, 0xc
test eax, eax
je 0x61524d
mov ecx, dword [ebx + 0x10]
mov dword [eax + 8], ecx
mov ecx, edi
mov edx, dword [ebx + 0xc]
push eax
call fcn.0060e370
add esp, 4
mov dword [ebp - 0xdc], eax
jmp 0x614e2e
mov eax, dword [esi + 0x38]
mov ecx, dword [ebx + 4]
mov edx, dword [eax + ecx*4]
mov edi, dword [edx + 0x28]
mov ecx, edi
mov esi, dword [edx + 0x2c]
add ecx, 1
mov eax, esi
mov dword [edx + 0x28], ecx
adc eax, 0
or edi, esi
mov dword [edx + 0x2c], eax
je 0x614e06
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov edx, dword [ebx + 4]
mov ecx, esi
push 0
push 0xffffffffffffffff
push dword [ebx + 0xc]
call fcn.006158a0
add esp, 0xc
test eax, eax
je 0x61524d
mov byte [eax + 0x19], 1
mov ecx, dword [ebx + 8]
or dword [eax + 0x1c], 4
add ebx, 0x14
mov dword [eax + 0x10], ecx
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov ecx, esi
mov edx, dword [esi + 0x38]
mov edx, dword [edx + eax*4]
call fcn.0061b910
mov ecx, dword [ebx + 4]
add ebx, 0x14
mov eax, dword [esi + 0x38]
mov dword [eax + ecx*4], 0
jmp 0x60fd53
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe8]
test byte [esi + 0x1c], 4
mov byte [esi + 0x19], 0
je 0x6127ba
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov al, byte [edi + 8]
and al, 0xe
cmp al, 2
jne 0x612715
xor edx, edx
mov ecx, edi
call fcn.00615810
mov ecx, edi
call fcn.0061eb90
movzx ecx, word [edi + 8]
mov dword [ebp - 0xec], eax
mov dword [ebp - 0xf4], edx
test cl, 4
jne 0x61277b
test cl, 8
je 0x614e06
mov ecx, eax
call fcn.00584b90
movsd xmm1, qword [edi]
comisd xmm0, xmm1
jbe 0x612764
mov ecx, dword [ebp - 0xfc]
test cl, 1
lea eax, [ecx - 1]
cmovne eax, ecx
mov ecx, eax
mov dword [ebp - 0xfc], ecx
jmp 0x61277b
comisd xmm1, xmm0
jbe 0x61277b
mov eax, dword [ebp - 0xfc]
test al, 1
je 0x61277b
inc eax
mov dword [ebp - 0xfc], eax
mov edi, dword [ebp - 0xec]
lea eax, [ebp - 0x130]
mov ecx, dword [esi]
xor edx, edx
push eax
push 0
push dword [ebp - 0xf4]
push edi
call fcn.00625fd0
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xf4]
mov dword [esi + 0x30], edi
mov edi, dword [ebp - 0xe0]
mov dword [esi + 0x34], eax
mov eax, dword [ebp - 0xdc]
jmp 0x612822
mov eax, dword [esi + 8]
mov dword [ebp - 0x220], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x21c], ax
lea eax, [edx - 1]
test al, 1
sete al
lea eax, [eax*2 - 1]
mov byte [ebp - 0x21a], al
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, 0x4000
mov dword [ebp - 0x218], ecx
test word [ecx + 8], ax
je 0x612802
call fcn.0061efb0
mov ecx, dword [esi]
lea eax, [ebp - 0x130]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0x220]
call fcn.00625fd0
mov dword [ebp - 0xdc], eax
add esp, 0x10
test eax, eax
jne 0x612e07
mov byte [esi + 0x1a], al
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x130]
cmp eax, 0x41
jl 0x612878
test ecx, ecx
js 0x61285e
jne 0x61284f
cmp eax, 0x42
je 0x61285e
mov dword [ebp - 0x130], 0
jmp 0x614e22
lea eax, [ebp - 0x130]
mov dword [ebp - 0x130], 0
push eax
push dword [esi]
call fcn.00625db0
jmp 0x6128b4
test ecx, ecx
jg 0x61289c
jne 0x612883
cmp eax, 0x3f
je 0x61289c
mov eax, dword [esi]
xor ecx, ecx
cmp byte [eax + 0x42], 1
mov eax, dword [ebp - 0xdc]
setne cl
mov dword [ebp - 0x130], ecx
jmp 0x6128c5
lea eax, [ebp - 0x130]
mov dword [ebp - 0x130], 0
push eax
push dword [esi]
call fcn.00625bb0
add esp, 8
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x612e07
cmp dword [ebp - 0x130], 0
jne 0x614e06
jmp 0x614e28
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe8]
mov byte [esi + 0x19], 0
mov eax, dword [ebx + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0061eb90
mov dword [esi + 0x30], eax
add ebx, 0x14
mov dword [esi + 0x34], edx
mov byte [esi + 0x1a], 1
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
cmp dword [ebx + 0x10], 0
mov eax, dword [esi + 0x38]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0x108], 0
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xec], ecx
lea eax, [eax + eax*4]
lea esi, [edx + eax*8]
mov dword [ebp - 0x10c], esi
jle 0x6129a9
mov eax, dword [ecx + 8]
xor edi, edi
mov dx, word [ebx + 0x10]
mov dword [ebp - 0x1e4], eax
xor eax, eax
mov word [ebp - 0x1e0], dx
mov dword [ebp - 0x1dc], esi
cmp ax, dx
jae 0x6129a1
mov ebx, dword [ebp - 0x10c]
xor esi, esi
nop
lea ecx, [esi + ebx]
mov eax, 0x4000
test word [ecx + 8], ax
je 0x612990
call fcn.0061efb0
mov ebx, dword [ebp - 0x1dc]
mov dx, word [ebp - 0x1e0]
inc edi
movzx eax, dx
add esi, 0x28
cmp edi, eax
jl 0x612970
mov ebx, dword [ebp - 0xe4]
lea edi, [ebp - 0x1e4]
jmp 0x6129fa
mov ecx, dword [ecx + 8]
lea eax, [ebp - 0x108]
push eax
push 0xbf
lea edx, [ebp - 0xc8]
call fcn.00619bb0
mov edi, eax
add esp, 8
test edi, edi
je 0x615095
mov eax, 0x4000
test word [esi + 8], ax
je 0x6129e2
mov ecx, esi
call fcn.0061efb0
mov ecx, dword [ebp - 0xec]
mov edx, dword [esi + 0xc]
push edi
push dword [esi + 0x10]
mov ecx, dword [ecx + 8]
call fcn.00619a70
add esp, 8
mov byte [edi + 6], 0
xor esi, esi
cmp byte [ebx], 0x44
jne 0x612a29
movzx edx, word [edi + 4]
xor ecx, ecx
test edx, edx
je 0x612a29
mov eax, dword [edi + 8]
add eax, 8
test byte [eax], 1
jne 0x612a24
inc ecx
add eax, 0x28
cmp ecx, edx
jl 0x612a15
jmp 0x612a29
mov esi, 1
lea eax, [ebp - 0x1a4]
mov edx, edi
mov edi, dword [ebp - 0xec]
push eax
push 0
push 0
mov ecx, dword [edi]
push 0
call fcn.00625fd0
mov edx, dword [ebp - 0x108]
add esp, 0x10
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
call fcn.0063e560
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x611580
mov eax, dword [ebp - 0x1a4]
xor ecx, ecx
test eax, eax
mov dword [edi + 0xc], eax
mov al, 1
mov byte [edi + 0x1a], 0
sete cl
mov dword [edi + 0x3c], 0
sub al, cl
mov byte [edi + 0x19], al
cmp byte [ebx], 0x46
jne 0x612ab0
test ecx, ecx
jne 0x614e06
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
test esi, esi
jne 0x614e06
test ecx, ecx
je 0x614e06
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov eax, dword [esi + 0x38]
xor edx, edx
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xec], 0
mov ebx, dword [eax + ecx*4]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [eax + 0xc]
lea eax, [eax + eax*4]
mov esi, dword [ecx + eax*8]
mov edi, dword [ecx + eax*8 + 4]
lea eax, [ebp - 0xec]
mov ecx, dword [ebx]
push eax
push 0
push edi
push esi
call fcn.00625fd0
mov dword [ebp - 0xdc], eax
add esp, 0x10
mov eax, dword [ebp - 0xec]
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], edi
mov word [ebx + 0x19], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0xc], eax
mov ebx, dword [ebp - 0xe4]
test eax, eax
je 0x611902
cmp dword [ebx + 8], 0
jne 0x614e06
mov ecx, 0x12a5f
call fcn.005c0b30
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
jmp 0x614e28
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea edx, [eax + ecx*8]
mov eax, 0x2460
test word [edx + 8], ax
je 0x612b8e
mov ecx, edx
call fcn.006155f0
mov edx, eax
jmp 0x612b97
mov eax, 4
mov word [edx + 8], ax
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x28]
mov dword [edx], eax
mov eax, dword [ecx + 0x2c]
mov dword [edx + 4], eax
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x28], 1
adc dword [eax + 0x2c], 0
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
movlpd qword [ebp - 0x128], xmm0
mov dword [ebp - 0x104], 0
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea edx, [eax + ecx*8]
mov eax, 0x2460
mov dword [ebp - 0x108], edx
test word [edx + 8], ax
je 0x612c05
mov ecx, edx
call fcn.006155f0
mov dword [ebp - 0x108], eax
jmp 0x612c0e
mov eax, 4
mov word [edx + 8], ax
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x100], eax
test byte [eax + 0x1c], 2
jne 0x612cb9
mov ecx, dword [eax]
lea edx, [ebp - 0x104]
call fcn.00626470
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x612e0d
cmp dword [ebp - 0x104], eax
je 0x612c5f
mov edi, 1
xor esi, esi
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x124], esi
jmp 0x612cc5
mov eax, dword [ebp - 0x100]
mov esi, dword [eax]
mov ecx, esi
call fcn.00626ed0
mov edi, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x124], esi
mov dword [ebp - 0xdc], 0
cmp esi, 0x7fffffff
jl 0x612ca5
jg 0x612c99
cmp edi, 0xffffffff
jb 0x612ca5
mov eax, dword [ebp - 0x100]
or dword [eax + 0x1c], 2
jmp 0x612cc5
add edi, 1
mov dword [ebp - 0x128], edi
adc esi, 0
mov dword [ebp - 0x124], esi
jmp 0x612cc5
mov esi, dword [ebp - 0x124]
mov edi, dword [ebp - 0x128]
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x612d69
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0xb0]
test edx, edx
je 0x612cfb
mov eax, dword [edx + 4]
test eax, eax
je 0x612cf0
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x612ce7
mov eax, dword [edx + 0x10]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*8]
jmp 0x612d07
lea eax, [ecx + ecx*4]
mov ecx, dword [ebp - 0xe8]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xf4], ecx
call fcn.0061ea60
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
cmp ecx, 0xffffffff
jne 0x612d2e
cmp edx, 0x7fffffff
je 0x612df6
mov eax, dword [ebp - 0x100]
test byte [eax + 0x1c], 2
mov eax, dword [ebp - 0xf4]
jne 0x612df6
add ecx, 1
adc edx, 0
cmp esi, edx
jg 0x612d64
jl 0x612d54
cmp edi, ecx
jae 0x612d64
mov edi, ecx
mov esi, edx
mov dword [ebp - 0x128], edi
mov dword [ebp - 0x124], esi
mov dword [eax], edi
mov dword [eax + 4], esi
mov eax, dword [ebp - 0x100]
test byte [eax + 0x1c], 2
je 0x612e3d
mov dword [ebp - 0xec], 0
lea eax, [ebp - 0x128]
push eax
push 8
call fcn.0063c250
mov esi, dword [ebp - 0x124]
lea eax, [ebp - 0x104]
mov edi, dword [ebp - 0x128]
and esi, 0x3fffffff
push eax
mov eax, dword [ebp - 0x100]
add edi, 1
push 0
adc esi, 0
mov dword [ebp - 0x128], edi
push esi
mov ecx, dword [eax]
xor edx, edx
push edi
mov dword [ebp - 0x124], esi
call fcn.00625fd0
add esp, 0x18
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x612e37
cmp dword [ebp - 0x104], eax
jne 0x612e37
mov eax, dword [ebp - 0xec]
inc eax
mov dword [ebp - 0xec], eax
cmp eax, 0x64
jl 0x612d83
mov eax, 0xd
mov dword [ebp - 0xdc], eax
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xd8]
cmp byte [edi + 0x41], 0
je 0x614fca
mov eax, 7
mov dword [ebp - 0xdc], 7
mov edx, str.unknown_error
mov ecx, eax
call fcn.005c2bd0
jmp 0x614fef
mov eax, dword [ebp - 0x100]
mov byte [eax + 0x1a], 0
mov dword [eax + 0x3c], 0
mov eax, dword [ebp - 0x108]
mov dword [eax], edi
mov edi, dword [ebp - 0xe0]
mov dword [eax + 4], esi
jmp 0x614e22
cmp byte [ebp - 0xed], 0x54
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x38]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0xf4], edx
jne 0x612e97
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
mov edi, dword [ecx + eax*8]
mov eax, dword [ecx + eax*8 + 4]
jmp 0x612ea2
cdq
mov edi, eax
mov eax, edx
mov edx, dword [ebp - 0xf4]
test byte [ebx + 3], 1
mov dword [ebp - 0xec], eax
je 0x612eb7
mov ecx, dword [ebp - 0xd8]
inc dword [ecx + 0x5c]
test byte [ebx + 3], 2
je 0x612ed5
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0x134], edi
mov dword [ebp - 0x138], eax
mov dword [ecx + 0x20], edi
mov dword [ecx + 0x24], eax
mov ecx, dword [ebp - 0xe8]
movzx eax, word [ecx + esi*8 + 8]
test al, 1
je 0x612ef4
mov dword [ecx + esi*8 + 0x10], 0
mov dword [ecx + esi*8 + 0xc], 0
mov cl, byte [ebx + 3]
mov byte [ebp - 0xed], cl
test cl, 0x10
je 0x612f07
mov edx, dword [edx + 0xc]
jmp 0x612f09
xor edx, edx
test eax, 0x4000
je 0x612f1b
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + esi*8]
jmp 0x612f1d
xor ecx, ecx
movzx eax, byte [ebp - 0xed]
push edx
shr eax, 3
xor edx, edx
and eax, 1
push eax
mov eax, dword [ebp - 0xe8]
push ecx
mov ecx, dword [ebp - 0xf4]
push dword [eax + esi*8 + 0xc]
push dword [eax + esi*8 + 0x10]
mov esi, dword [ebp - 0xec]
mov ecx, dword [ecx]
push esi
push edi
call fcn.00622460
mov ecx, dword [ebp - 0xf4]
add esp, 0x1c
mov dword [ebp - 0xdc], eax
mov byte [ecx + 0x1a], 0
mov dword [ecx + 0x3c], 0
test eax, eax
jne 0x611580
mov eax, dword [ebp - 0xe0]
mov edx, dword [eax + 0xd4]
test edx, edx
je 0x614e20
mov eax, dword [ebx + 0x10]
test eax, eax
je 0x611902
movsx ecx, byte [ecx + 0x18]
push esi
push edi
mov edi, dword [ebp - 0xe0]
add ecx, ecx
test byte [ebx + 3], 4
push eax
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8]
mov ecx, 0x17
mov eax, 0x12
cmovne eax, ecx
push eax
push dword [edi + 0xd0]
call edx
add esp, 0x18
jmp 0x614e22
cmp dword [edi + 0xd4], 0
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
je 0x612fec
cmp dword [ebx + 0x10], 0
je 0x612fec
test byte [esi + 0x1c], 4
je 0x612fec
mov al, 1
jmp 0x612fee
xor al, al
cmp byte [ebx + 3], 0
mov byte [ebp - 0xed], al
je 0x613008
test al, al
je 0x613008
mov ecx, dword [esi]
lea edx, [esi + 0x30]
call fcn.00626eb0
movzx edx, byte [ebx + 3]
mov ecx, dword [esi]
call fcn.00622100
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x3c], 0
test eax, eax
jne 0x61305b
cmp byte [ebp - 0xed], al
je 0x61305b
push dword [esi + 0x34]
movsx ecx, byte [esi + 0x18]
push dword [esi + 0x30]
mov eax, dword [edi + 0x10]
push dword [ebx + 0x10]
shl ecx, 4
push dword [ecx + eax]
mov eax, dword [edi + 0xd4]
push 9
push dword [edi + 0xd0]
call eax
mov eax, dword [ebp - 0xdc]
add esp, 0x18
test byte [ebx + 8], 1
je 0x614e28
mov esi, dword [ebp - 0xd8]
inc dword [esi + 0x5c]
jmp 0x614e2e
mov eax, dword [esi + 0x5c]
add dword [edi + 0x54], eax
add ebx, 0x14
mov dword [edi + 0x50], eax
mov dword [esi + 0x5c], 0
jmp 0x60fd53
mov eax, dword [esi + 0x38]
mov ecx, dword [ebx + 4]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0x10c], 0
mov ecx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0x10c]
push eax
push dword [ebx + 0x10]
call fcn.0060bba0
add esp, 8
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0x10c], 0
jne 0x614e06
jmp 0x614e2e
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + ecx*4]
call fcn.0060bcc0
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0xdc], eax
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [eax + 0x3c], 0
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xec], eax
test byte [eax + 0x1c], 4
mov edi, dword [eax]
mov ecx, edi
mov dword [ebp - 0xf4], edi
jne 0x613177
call fcn.00626ed0
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xf4]
mov edi, dword [edi + 0x10]
mov eax, dword [eax + 0x58]
cdq
cmp dword [ecx + 0x14], edx
jg 0x61316c
jl 0x61318e
cmp edi, eax
jbe 0x61318e
mov edi, dword [ebp - 0xe0]
jmp 0x6150bf
call fcn.00626ed0
mov eax, dword [ebp - 0xe0]
mov edi, dword [edi + 0x1c]
cmp edi, dword [eax + 0x58]
ja 0x6150b9
mov edx, 0x20
cmp edi, edx
cmova edx, edi
cmp dword [esi + 0x18], edx
jge 0x6131b3
push 0
mov ecx, esi
call fcn.0061f090
add esp, 4
test eax, eax
jne 0x615095
jmp 0x6131be
mov eax, dword [esi + 0x14]
and word [esi + 8], 0xd
mov dword [esi + 0x10], eax
mov ax, word [esi + 8]
mov ecx, 0xbe10
and ax, cx
mov dword [esi + 0xc], edi
or ax, 0x10
mov word [esi + 8], ax
mov eax, dword [ebp - 0xec]
test byte [eax + 0x1c], 4
jne 0x61320c
mov ecx, dword [ebp - 0xf4]
xor edx, edx
push 0
push dword [esi + 0x10]
push edi
call fcn.006269e0
mov edi, dword [ebp - 0xe0]
add esp, 0xc
mov dword [ebp - 0xdc], eax
mov byte [esi + 0xa], 1
jmp 0x614e28
push dword [esi + 0x10]
push edi
push 0
push dword [ebp - 0xf4]
call fcn.00626970
mov edi, dword [ebp - 0xe0]
add esp, 0x10
mov dword [ebp - 0xdc], eax
mov byte [esi + 0xa], 1
jmp 0x614e28
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea edi, [eax + ecx*8]
mov eax, 0x2460
test word [edi + 8], ax
je 0x613257
mov ecx, edi
call fcn.006155f0
mov edi, eax
jmp 0x613260
mov eax, 4
mov word [edi + 8], ax
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 0x19], 0
je 0x61328c
mov esi, dword [ebp - 0xd8]
mov eax, 1
mov word [edi + 8], ax
add ebx, 0x14
mov edi, dword [ebp - 0xe0]
jmp 0x60fd53
cmp byte [esi + 0x1a], 0
je 0x6132a3
mov ecx, dword [esi + 0x30]
mov dword [ebp - 0x170], ecx
mov eax, dword [esi + 0x34]
jmp 0x61334b
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x6132f5
mov esi, dword [ecx]
lea edx, [ebp - 0x170]
push edx
push ecx
mov eax, dword [esi]
mov eax, dword [eax + 0x30]
call eax
add esp, 8
mov dword [ebp - 0xdc], eax
mov edx, esi
mov esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.00618820
mov ecx, dword [ebp - 0x170]
mov dword [edi], ecx
mov eax, dword [ebp - 0x16c]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov ecx, esi
call fcn.0061a090
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x612e01
cmp byte [esi + 0x19], al
je 0x61332c
mov esi, dword [ebp - 0xd8]
mov eax, 1
mov word [edi + 8], ax
add ebx, 0x14
mov edi, dword [ebp - 0xe0]
jmp 0x60fd53
mov esi, dword [esi]
mov ecx, esi
call fcn.00626ed0
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0x170], ecx
mov eax, dword [esi + 0x14]
mov dword [ebp - 0xdc], 0
mov esi, dword [ebp - 0xd8]
mov dword [ebp - 0x16c], eax
mov dword [edi], ecx
mov eax, dword [ebp - 0x16c]
mov dword [edi + 4], eax
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov byte [eax + 0x19], 1
mov dword [eax + 0x3c], 0
test ecx, ecx
je 0x61097c
call fcn.0062ac40
add ebx, 0x14
jmp 0x60fd53
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xfc]
mov eax, dword [esi + 0x38]
mov dword [ebp - 0xfc], 0
mov esi, dword [eax + ecx*4]
mov ecx, dword [esi]
call fcn.00626470
mov ecx, dword [ebp - 0xfc]
mov byte [esi + 0x19], cl
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov dword [ebp - 0xdc], eax
mov eax, dword [ebx + 0xc]
mov dword [esi + 0xc], eax
cmp dword [ebx + 8], 0
jle 0x614e22
test ecx, ecx
jne 0x614e06
jmp 0x614e22
inc dword [esi + 0x74]
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xf4]
mov eax, dword [esi + 0x38]
mov dword [ebp - 0xf4], 1
mov esi, dword [eax + ecx*4]
cmp dword [esi + 0x38], 0
je 0x613420
mov ecx, esi
call fcn.0060be20
jmp 0x613432
mov ecx, dword [esi]
call fcn.006264d0
mov byte [esi + 0x1a], 0
mov dword [esi + 0x3c], 0
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xf4]
mov byte [esi + 0x19], al
test eax, eax
jne 0x614e06
jmp 0x614e22
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x154]
push eax
mov edx, esi
mov dword [ebp - 0x154], 0
mov ecx, edi
call fcn.0060bdb0
add esp, 4
jmp 0x6134a9
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
cmp dword [eax + ecx*4], 0
je case.0x60fd8f.62
mov eax, dword [esi + 0x38]
mov ecx, dword [ebx + 4]
mov esi, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x154], eax
lea eax, [ebp - 0x154]
push eax
push dword [esi]
mov eax, dword [ebx + 0x10]
call eax
add esp, 8
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x3c], 0
cmp dword [ebp - 0x154], 0
jne 0x6134d6
mov ecx, dword [ebp - 0xd8]
mov byte [esi + 0x19], 0
movzx eax, byte [ebx + 3]
inc dword [ecx + eax*4 + 0x6c]
jmp case.0x60fd8f.14
mov byte [esi + 0x19], 1
jmp 0x614ae4
test byte [ebx + 3], 1
mov eax, dword [esi + 0x38]
mov ecx, dword [ebx + 4]
mov edi, dword [eax + ecx*4]
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
je 0x613506
mov eax, dword [ebp - 0xd8]
inc dword [eax + 0x5c]
mov eax, 0x4000
test word [esi + 8], ax
je 0x613526
mov ecx, esi
call fcn.0061efb0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x611580
cmp byte [ebx], 0x6e
jne 0x613545
mov edx, esi
mov ecx, edi
call fcn.0060cc80
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
jmp 0x614e28
test byte [ebx + 3], 0x10
je 0x613550
mov eax, dword [edi + 0xc]
jmp 0x613552
xor eax, eax
mov ecx, dword [edi]
push eax
push dword [ebx + 0xc]
mov eax, dword [esi + 0xc]
push 0
push 0
cdq
push 0x6e868d
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.00622460
mov dword [edi + 0x3c], 0
add esp, 0x1c
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
jmp 0x614e28
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0x1f8]
mov eax, dword [esi + 0x38]
mov esi, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [esi + 8]
mov edi, dword [esi]
mov dword [ebp - 0x1f8], eax
mov ax, word [ebx + 0xc]
mov word [ebp - 0x1f4], ax
mov eax, dword [ebx + 8]
mov byte [ebp - 0x1f2], 0
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x1f0], eax
lea eax, [ebp - 0x1a8]
push eax
push 0
push 0
push 0
call fcn.00625fd0
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x613603
cmp dword [ebp - 0x1a8], eax
jne 0x613603
xor edx, edx
mov ecx, edi
call fcn.00622100
mov dword [ebp - 0xdc], eax
mov edi, dword [ebp - 0xe0]
mov dword [esi + 0x3c], 0
jmp 0x614e28
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x613637
mov ecx, esi
call fcn.006155f0
mov esi, eax
jmp 0x613640
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebx + 4]
mov eax, dword [eax + 0x38]
mov edi, dword [eax + ecx*4]
mov ecx, edi
mov eax, dword [edi]
mov dword [ebp - 0xec], eax
mov eax, 1
mov word [esi + 8], ax
call fcn.0061a090
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x612e01
cmp byte [edi + 0x19], al
jne 0x612a9c
mov edi, dword [ebp - 0xe0]
lea eax, [ebp - 0x140]
mov edx, dword [ebp - 0xec]
xorps xmm0, xmm0
push eax
mov ecx, edi
movlpd qword [ebp - 0x140], xmm0
call fcn.00618af0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x612e07
mov eax, dword [ebp - 0x140]
add ebx, 0x14
mov dword [esi], eax
mov eax, dword [ebp - 0x13c]
mov dword [esi + 4], eax
mov eax, 4
mov word [esi + 8], ax
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
cmp byte [ebp - 0xed], 0x74
mov dword [ebp - 0x114], 0
mov edx, dword [eax + ecx*4]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [edx + 8]
mov dword [ebp - 0x20c], eax
mov ax, word [ebx + 0x10]
mov word [ebp - 0x208], ax
sbb al, al
mov byte [ebp - 0x206], al
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov ecx, edi
mov dword [ebp - 0x204], eax
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x20c]
push eax
call fcn.006189f0
add esp, 8
mov dword [ebp - 0xdc], eax
test byte [ebx], 1
mov eax, dword [ebp - 0x114]
jne 0x613754
neg eax
jmp 0x613755
inc eax
test eax, eax
jg 0x614e06
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x61378a
mov ecx, esi
call fcn.006155f0
mov esi, eax
jmp 0x613793
mov eax, 4
mov word [esi + 8], ax
mov eax, 1
mov word [esi + 8], ax
mov eax, dword [edi + 0xa4]
inc eax
cmp dword [edi + 0x98], eax
jg 0x615009
mov eax, dword [ebx + 0xc]
lea ecx, [ebp - 0x100]
mov edx, dword [ebx + 4]
push ecx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0xec], eax
add eax, eax
mov dword [ebp - 0x100], 0
mov ecx, dword [ecx + eax*8 + 4]
call fcn.006218d0
mov ecx, dword [ebp - 0x100]
add esp, 4
mov dword [ebp - 0xdc], eax
mov eax, 4
mov word [esi + 8], ax
mov eax, ecx
cdq
mov dword [esi], eax
mov eax, dword [ebp - 0xdc]
mov dword [esi + 4], edx
test eax, eax
jne 0x614e28
test ecx, ecx
je 0x614e28
push dword [ebx + 4]
mov edx, dword [ebp - 0xec]
push ecx
mov ecx, edi
call fcn.005fb6e0
mov al, byte [ebp - 0xec]
add esp, 8
inc al
mov byte [ebp - 0x129], al
jmp 0x614e22
mov edx, dword [ebx + 4]
lea eax, [ebp - 0xf8]
xor ecx, ecx
mov dword [ebp - 0xf8], 0
cmp dword [ebx + 0xc], ecx
cmove eax, ecx
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [ebx + 8]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00621b60
add esp, 4
mov dword [ebp - 0xdc], eax
cmp dword [ebx + 0xc], 0
je 0x614e2e
mov eax, dword [ebp - 0xf8]
add dword [esi + 0x5c], eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle case.0x60fd8f.62
mov edi, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
cdq
add dword [edi + ecx*8], eax
mov eax, edi
mov edi, dword [ebp - 0xe0]
adc dword [eax + ecx*8 + 4], edx
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov ecx, dword [eax + ecx*4]
mov edx, dword [ecx + 0x38]
test edx, edx
je 0x6138ce
mov ecx, edi
call fcn.0060db80
add ebx, 0x14
jmp 0x60fd53
mov ecx, dword [ecx]
push 0
mov edx, dword [ecx + 0x34]
mov ecx, dword [ecx]
call fcn.00621b60
add esp, 4
mov dword [ebp - 0xdc], eax
jmp 0x614e2e
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x61390c
mov ecx, esi
call fcn.006155f0
mov esi, eax
jmp 0x613915
mov eax, 4
mov word [esi + 8], ax
mov ecx, dword [ebx + 4]
lea edx, [ebp - 0xe4]
shl ecx, 4
xor eax, eax
add ecx, dword [edi + 0x10]
cmp byte [ebx], 0x7a
mov dword [ebp - 0xe4], 0
setne al
mov ecx, dword [ecx + 4]
inc eax
push eax
call fcn.00621df0
mov dword [ebp - 0xdc], eax
add esp, 4
mov eax, dword [ebp - 0xe4]
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
jmp 0x614e22
mov ecx, dword [ebx + 4]
lea eax, [esi + 0x2c]
push dword [ebx + 0x10]
mov dword [ebp - 0x1cc], eax
cmp ecx, 1
mov edx, 0x6ce680
mov dword [ebp - 0x1c8], ecx
mov eax, 0x6ce694
mov dword [ebp - 0x1d0], edi
cmove eax, edx
add ecx, ecx
push eax
mov eax, dword [edi + 0x10]
push dword [eax + ecx*8]
push str.SELECT_name__rootpage__sql_FROM__q._s_WHERE__s_ORDER_BY_rowid
push edi
call fcn.0063c660
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x6139ae
mov dword [ebp - 0xdc], 7
jmp 0x613a00
push 0
lea eax, [ebp - 0x1d0]
mov byte [edi + 0x91], 1
push eax
push fcn.005e71d0
push esi
push edi
mov dword [ebp - 0x1c4], 0
call fcn.005eaaf0
add esp, 0x14
mov edx, esi
test eax, eax
mov ecx, edi
cmove eax, dword [ebp - 0x1c4]
mov dword [ebp - 0xdc], eax
call fcn.0063e560
mov eax, dword [ebp - 0xdc]
mov byte [edi + 0x91], 0
test eax, eax
je 0x613a0d
mov ecx, edi
call fcn.005fe170
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xd8]
cmp eax, 7
je 0x61524d
jmp 0x614e2e
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.006000e0
mov dword [ebp - 0xdc], eax
jmp 0x614e2e
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.005fdd50
add esp, 4
add ebx, 0x14
jmp 0x60fd53
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.005fe3a0
add esp, 4
add ebx, 0x14
jmp 0x60fd53
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.005d8d20
add esp, 4
add ebx, 0x14
jmp 0x60fd53
mov edi, dword [ebx + 8]
mov ecx, dword [ebp - 0xe0]
push 0
mov dword [ebp - 0xec], edi
lea eax, [edi*4 + 4]
push eax
call fcn.0063e290
mov edx, eax
add esp, 8
mov dword [ebp - 0x108], edx
test edx, edx
je 0x61523d
mov ecx, dword [ebx + 0xc]
xor esi, esi
lea eax, [ecx + ecx*4]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*8]
mov dword [ebp - 0xf4], eax
test edi, edi
jle 0x613b04
mov ebx, dword [ebp - 0xec]
mov edi, eax
nop
mov ecx, edi
call fcn.0061eb90
mov edx, dword [ebp - 0x108]
add edi, 0x28
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jl 0x613ae0
mov ebx, dword [ebp - 0xe4]
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xe8]
lea eax, [ebp - 0x148]
push eax
mov eax, dword [ebp - 0x10c]
mov dword [edx + esi*4], 0
mov esi, dword [ebp - 0xe0]
push dword [ecx + eax*8]
movzx eax, byte [ebx + 3]
mov ecx, dword [esi + 0x10]
add eax, eax
push edi
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00620720
mov edx, dword [ebp - 0x108]
add esp, 0xc
mov ecx, esi
mov edi, eax
call fcn.0063e560
mov ecx, dword [ebp - 0x10c]
mov esi, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x148]
cdq
sub dword [esi + ecx*8], eax
mov eax, esi
sbb dword [eax + ecx*8 + 4], edx
mov ecx, dword [ebp - 0xf4]
call fcn.0061e800
mov esi, dword [ebp - 0x148]
test esi, esi
je 0x613b9e
test edi, edi
je 0x615095
mov ecx, dword [ebp - 0xf4]
mov edx, edi
push fcn.0063e5f0
push 1
push 0xffffffffffffffff
call fcn.0061e250
add esp, 0xc
movzx edx, byte [ebp - 0x11c]
mov ecx, dword [ebp - 0xf4]
call fcn.0061f1c0
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 8]
lea edi, [eax + eax*4]
jne 0x613bf1
mov ecx, esi
call fcn.0061e5e0
test byte [esi + 8], 0x20
je 0x615095
mov eax, dword [ebp - 0xe8]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.00633d90
mov edi, dword [ebp - 0xe0]
add esp, 8
mov esi, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
je 0x613c6b
mov ecx, dword [esi]
lea edx, [ebp - 0x1b8]
call fcn.00633960
test eax, eax
je 0x613c6b
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
push dword [ebp - 0x1b4]
push dword [ebp - 0x1b8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.0061e710
add esp, 8
jmp 0x614ae4
mov ecx, esi
call fcn.0061e800
jmp case.0x60fd8f.14
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [ebx + 0xc]
lea edi, [eax + eax*4]
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xec], eax
jne 0x613cb9
mov ecx, esi
call fcn.0061e5e0
test byte [esi + 8], 0x20
je 0x615095
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xe8]
test eax, eax
je 0x613ce0
push dword [ecx + edi*8 + 4]
mov edx, eax
push dword [ecx + edi*8]
mov ecx, dword [esi]
call fcn.00633800
add esp, 8
test eax, eax
jne 0x614e06
mov eax, dword [ebp - 0xec]
test eax, eax
js 0x612a9c
mov eax, dword [ebp - 0xe8]
mov ecx, dword [esi]
push dword [eax + edi*8 + 4]
push dword [eax + edi*8]
call fcn.00633d90
mov edi, dword [ebp - 0xe0]
add esp, 8
mov esi, dword [ebp - 0xd8]
add ebx, 0x14
jmp 0x60fd53
cmp byte [ebx + 3], 0
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebx + 0x10]
mov dword [ebp - 0xec], edx
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0x104], ecx
je 0x613d58
mov eax, dword [esi + 0xb0]
mov ecx, dword [edx + 0x14]
test eax, eax
je 0x613d52
cmp dword [eax + 0x1c], ecx
je 0x614cb8
mov eax, dword [eax + 4]
test eax, eax
jne 0x613d42
mov ecx, dword [ebp - 0x104]
mov eax, dword [esi + 0xb8]
cmp eax, dword [edi + 0x80]
jge 0x615020
test byte [ecx + 8], 0x40
jne 0x613f03
mov ecx, dword [edx + 0xc]
mov esi, dword [edx + 8]
add esi, ecx
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*2]
mov eax, dword [edx + 0x10]
lea eax, [eax + ecx*4]
mov ecx, edi
cdq
push edx
push eax
call fcn.0063e330
mov edi, eax
add esp, 8
test edi, edi
je 0x615095
mov ecx, dword [ebp - 0x104]
call fcn.0061eca0
mov eax, dword [ebp - 0x104]
mov ecx, 0x40
sub ebx, dword [ebp - 0x110]
mov word [eax + 8], cx
mov ecx, dword [ebp - 0xd8]
mov dword [eax], edi
mov eax, dword [ebp - 0xec]
mov dword [edi], ecx
mov dword [edi + 0x3c], esi
mov eax, dword [eax + 0xc]
mov dword [edi + 0x40], eax
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp - 0xec]
mov dword [edi + 0x2c], eax
mov eax, dword [ecx + 8]
mov dword [edi + 0x10], eax
mov eax, dword [ecx + 0x1c]
mov dword [edi + 0x34], eax
mov eax, dword [ecx + 0x38]
mov dword [edi + 0x18], eax
mov eax, dword [ecx + 0x24]
mov dword [edi + 0x28], eax
mov eax, dword [ecx + 4]
mov dword [edi + 8], eax
mov eax, dword [ecx + 0x20]
mov dword [edi + 0x30], eax
mov eax, dword [edx + 0x14]
mov dword [edi + 0x1c], eax
mov eax, dword [ecx + 0xc8]
mov dword [edi + 0x14], eax
mov eax, dword [ecx + 0xc4]
mov dword [edi + 0x38], eax
lea eax, [esi + 2]
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
lea eax, [edi + 0x50]
cmp eax, ecx
je 0x613e5e
mov esi, dword [ebp - 0xe0]
mov ebx, 0x80
nop dword [eax]
mov word [eax + 8], bx
mov dword [eax + 0x20], esi
add eax, 0x28
cmp eax, ecx
jne 0x613e50
mov esi, dword [ebp - 0xd8]
inc dword [esi + 0xb8]
lea ecx, [edi + 0x28]
mov eax, dword [esi + 0xb0]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x134]
mov dword [edi + 0x20], eax
mov eax, dword [ebp - 0x138]
mov dword [edi + 0x24], eax
mov eax, dword [esi + 0x5c]
mov dword [edi + 0x44], eax
mov eax, dword [esi]
mov dword [ebp - 0xe8], ecx
mov eax, dword [eax + 0x50]
mov dword [edi + 0x48], eax
mov dword [esi + 8], ecx
mov dword [esi + 0x5c], 0
mov dword [esi + 0xb0], edi
mov eax, dword [edi + 0x3c]
mov dword [esi + 0x1c], eax
movzx eax, word [edi + 0x40]
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x1c]
inc eax
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [esi + 0x38], ecx
mov ebx, dword [edx]
mov dword [esi + 4], ebx
mov eax, dword [edx + 4]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x110], ebx
lea ecx, [ecx + eax*4]
mov dword [esi + 0xc8], ecx
mov eax, dword [edx + 0x10]
push eax
push 0
push ecx
mov dword [esi + 0xc4], eax
call fcn.00586ff0
mov edi, dword [ebp - 0xe0]
add esp, 0xc
jmp 0x60fd53
mov edi, dword [ecx]
jmp 0x613e64
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x613f2c
mov ecx, esi
call fcn.006155f0
mov esi, eax
jmp 0x613f35
mov eax, 4
mov word [esi + 8], ax
mov eax, dword [ebp - 0xd8]
push 0x1000
mov edx, dword [eax + 0xb0]
mov eax, dword [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
add eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edx, [eax + ecx*8]
mov ecx, esi
call fcn.0061e530
mov esi, dword [ebp - 0xd8]
add esp, 4
add ebx, 0x14
jmp 0x60fd53
test dword [edi + 0x18], 0x1000000
mov eax, dword [ebx + 8]
cdq
je 0x613f98
add dword [edi + 0x200], eax
adc dword [edi + 0x204], edx
add ebx, 0x14
jmp 0x60fd53
cmp dword [ebx + 4], 0
je 0x613fb2
add dword [edi + 0x1f8], eax
adc dword [edi + 0x1fc], edx
add ebx, 0x14
jmp 0x60fd53
add dword [esi + 0x90], eax
adc dword [esi + 0x94], edx
add ebx, 0x14
jmp 0x60fd53
cmp dword [ebx + 4], 0
je 0x613ff8
mov eax, dword [edi + 0x1f8]
or eax, dword [edi + 0x1fc]
jne 0x614cb8
mov eax, dword [edi + 0x200]
or eax, dword [edi + 0x204]
je 0x614e06
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [esi + 0x90]
or eax, dword [esi + 0x94]
jmp 0x613fd8
mov edx, dword [esi + 0xb0]
test edx, edx
je 0x61402e
mov eax, dword [edx + 4]
test eax, eax
je 0x614020
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
jne 0x614017
mov eax, dword [ebx + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x10]
lea edi, [eax + ecx*8]
jmp 0x61403d
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov ecx, edi
call fcn.0061ea60
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0061ea60
mov ecx, dword [esi + 4]
mov eax, dword [esi]
cmp dword [edi + 4], ecx
jg 0x612a9c
jl 0x614072
cmp dword [edi], eax
jae 0x612a9c
mov esi, dword [ebp - 0xd8]
add ebx, 0x14
mov dword [edi], eax
mov dword [edi + 4], ecx
mov edi, dword [ebp - 0xe0]
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xe8]
lea esi, [eax + eax*4]
mov edi, dword [edx + esi*8 + 4]
mov ecx, dword [edx + esi*8]
test edi, edi
jl 0x612a9c
jg 0x6140b0
test ecx, ecx
je 0x612a9c
mov eax, dword [ebx + 0xc]
cdq
sub ecx, eax
sbb edi, edx
mov edx, dword [ebp - 0xe8]
mov dword [edx + esi*8], ecx
mov dword [edx + esi*8 + 4], edi
jmp 0x614e06
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
cmp dword [edx + eax*8 + 4], 0
jg 0x614cb8
jl 0x6140ed
cmp dword [edx + eax*8], 0
ja 0x614cb8
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea ecx, [eax + ecx*8]
mov eax, 0x2460
test word [ecx + 8], ax
je 0x61411c
call fcn.006155f0
mov ecx, eax
mov eax, dword [ebx + 0xc]
cdq
add ebx, 0x14
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x60fd53
mov eax, 4
mov word [ecx + 8], ax
mov eax, dword [ebx + 0xc]
add ebx, 0x14
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x60fd53
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xe8]
lea edi, [eax + eax*4]
mov ecx, dword [edx + edi*8]
mov eax, ecx
mov esi, dword [edx + edi*8 + 4]
or eax, esi
je 0x612a9c
mov eax, dword [ebx + 0xc]
cdq
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0xe8]
mov dword [edx + edi*8], ecx
mov dword [edx + edi*8 + 4], esi
jmp 0x614e06
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
add dword [edx + ecx*8], 0xffffffff
mov eax, dword [edx + ecx*8]
adc dword [edx + ecx*8 + 4], 0xffffffff
or eax, dword [edx + ecx*8 + 4]
jmp 0x613fea
mov eax, dword [ebx + 4]
lea esi, [eax + eax*4]
mov eax, dword [ebp - 0xe8]
mov edi, dword [eax + esi*8]
mov ecx, edi
mov edx, dword [eax + esi*8 + 4]
add ecx, 1
mov dword [ebp - 0xec], edx
mov eax, edx
mov edx, dword [ebp - 0xe8]
adc eax, 0
or edi, dword [ebp - 0xec]
mov dword [edx + esi*8], ecx
mov ecx, edx
mov dword [ecx + esi*8 + 4], eax
je 0x614e06
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
movzx eax, byte [ebx + 3]
mov ecx, edi
mov dword [ebp - 0xec], eax
push 0
lea eax, [eax*4 + 0x1c]
push eax
call fcn.0063e290
mov esi, eax
add esp, 8
test esi, esi
je 0x615247
mov dword [esi + 8], 0
mov eax, 0x66666667
mov ecx, dword [ebx + 0x10]
mov dword [esi + 4], ecx
mov ecx, ebx
sub ecx, dword [ebp - 0x110]
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xd8]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0xec]
mov byte [esi + 0x1a], al
mov word [ebx], 0xec90
mov dword [ebx + 0x10], esi
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov dword [ebp - 0xec], edi
cmp dword [esi + 8], edi
je 0x61429c
movzx ecx, byte [esi + 0x1a]
sub ecx, 1
mov dword [esi + 8], edi
js 0x61429c
mov edi, dword [ebp - 0xe8]
lea edx, [ecx + 7]
lea edx, [esi + edx*4]
mov eax, dword [ebx + 8]
lea edx, [edx - 4]
add eax, ecx
sub ecx, 1
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
mov dword [edx + 4], eax
jns 0x614280
mov edi, dword [ebp - 0xec]
inc dword [edi + 0xc]
mov eax, 1
mov edi, dword [ebp - 0xe0]
mov word [ebp - 0x2b0], ax
lea eax, [ebp - 0x2b8]
mov dword [ebp - 0x298], edi
mov dword [ebp - 0x2a0], 0
mov ecx, dword [esi + 4]
mov dword [esi], eax
lea eax, [esi + 0x1c]
push eax
movzx eax, byte [esi + 0x1a]
push eax
mov word [esi + 0x18], 0
mov eax, dword [ecx + 0x10]
push esi
call eax
add esp, 0xc
cmp byte [esi + 0x19], 0
je 0x614327
cmp dword [esi + 0x14], 0
je 0x61431c
lea eax, [ebp - 0x2b8]
push eax
call fcn.006182d0
add esp, 4
push eax
push 0x6ce6a4
push dword [ebp - 0xd8]
call fcn.0061d970
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0x2b8]
call fcn.0061eca0
cmp byte [esi + 0x18], 0
je 0x614e22
mov eax, dword [ebx - 0x10]
test eax, eax
je 0x614e22
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.0061e710
add esp, 8
jmp 0x614e22
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebx + 0x10]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.0061edd0
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x614399
push esi
call fcn.006182d0
add esp, 4
push eax
push 0x6ce710
push dword [ebp - 0xd8]
call fcn.0061d970
add esp, 0xc
movzx edx, byte [ebp - 0x11c]
mov ecx, esi
call fcn.0061f1c0
mov ecx, esi
call fcn.0061e5b0
mov esi, dword [ebp - 0xd8]
test eax, eax
jne 0x6150c5
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov edx, dword [ebx + 4]
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xd4], 0
push eax
push dword [ebx + 8]
mov ecx, edi
mov dword [ebp - 0xcc], 0xffffffff
mov dword [ebp - 0xd0], 0xffffffff
call fcn.005c1fe0
mov ecx, eax
add esp, 0xc
mov dword [ebp - 0xdc], ecx
cmp ecx, 5
jne 0x614424
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd4], 1
mov eax, dword [ebx + 0xc]
xor esi, esi
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
mov eax, dword [ebp + esi*4 - 0xd4]
mov ecx, edi
cdq
push edx
push eax
call fcn.0061e710
inc esi
add esp, 8
add edi, 0x28
cmp esi, 3
jl 0x614435
mov edi, dword [ebp - 0xe0]
jmp 0x614e22
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea eax, [eax + ecx*8]
mov ecx, 0x2460
mov dword [ebp - 0xec], eax
test word [eax + 8], cx
je 0x614489
mov ecx, eax
call fcn.006155f0
mov dword [ebp - 0xec], eax
jmp 0x614492
mov ecx, 4
mov word [eax + 8], cx
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov edx, dword [ebx + 0xc]
cmp edx, 0xffffffff
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0x108], eax
mov eax, dword [eax + 4]
mov ecx, dword [eax]
mov dword [ebp - 0xf4], ecx
movzx edi, byte [ecx + 5]
cmove edx, edi
call fcn.0062e590
test eax, eax
mov esi, edi
mov eax, 0x6e8643
cmovne esi, edx
cmp byte [ecx + 0xf], 0
jne 0x6144d9
mov eax, dword [ecx + 0xa8]
cmp esi, 5
jne 0x614531
mov ecx, eax
call fcn.0063b940
test eax, eax
je 0x6144f8
mov ecx, dword [ebp - 0xf4]
call fcn.0062e450
test eax, eax
jne 0x614531
mov esi, edi
mov eax, dword [ebp - 0xdc]
test eax, eax
mov ecx, dword [ebp - 0xf4]
cmove edi, esi
mov edx, edi
call fcn.0062e5d0
mov esi, dword [ebp - 0xec]
mov ecx, 0xa02
mov word [esi + 8], cx
cmp eax, 6
jne 0x6145a6
xor ecx, ecx
jmp 0x6145ad
cmp esi, edi
je 0x6144fa
cmp edi, 5
je 0x61453f
cmp esi, 5
jne 0x6144fa
mov eax, dword [ebp - 0xe0]
cmp byte [eax + 0x3f], 0
je 0x615045
cmp dword [eax + 0x98], 1
jg 0x615045
cmp edi, 5
jne 0x61457a
call fcn.0062e200
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x614502
mov ecx, dword [ebp - 0xf4]
mov edx, esi
jmp 0x614582
cmp edi, 4
jne 0x614587
lea edx, [edi - 2]
call fcn.0062e5d0
mov ecx, dword [ebp - 0x108]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.00620360
mov dword [ebp - 0xdc], eax
jmp 0x614500
mov ecx, dword [eax*4 + 0x69c838]
mov dword [esi + 0x10], ecx
call fcn.0063b940
movzx edx, byte [ebp - 0x11c]
mov ecx, esi
mov dword [esi + 0xc], eax
mov byte [esi + 0xa], 1
call fcn.0061f1c0
mov edi, dword [ebp - 0xe0]
jmp 0x614e22
lea ecx, [esi + 0x2c]
mov edx, edi
call fcn.005d4dc0
mov dword [ebp - 0xdc], eax
jmp 0x614e2e
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
call fcn.00627a00
mov dword [ebp - 0xdc], eax
cmp eax, 0x65
jne 0x614e2e
mov dword [ebp - 0xdc], 0
jmp 0x614e06
cmp dword [ebx + 4], 0
jne 0x61462e
mov ecx, edi
call fcn.006189b0
add ebx, 0x14
jmp 0x60fd53
or dword [esi + 0x58], 8
add ebx, 0x14
jmp 0x60fd53
mov al, byte [ebx + 0xc]
mov byte [ebp - 0x1ac], al
test al, al
jne 0x614654
test dword [edi + 0x18], 0x4000
jne case.0x60fd8f.62
mov eax, dword [ebx + 4]
mov ecx, dword [edi + 0x10]
add eax, eax
push dword [ebp - 0x1ac]
mov edx, dword [ebx + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.00620490
add esp, 4
mov dword [ebp - 0xdc], eax
cmp al, 6
jne 0x614e2e
push dword [ebx + 0x10]
push str.database_table_is_locked:__s
push esi
call fcn.0061d970
mov eax, dword [ebp - 0xdc]
add esp, 0xc
jmp 0x614e2e
mov esi, dword [ebx + 0x10]
mov ecx, edi
mov edx, esi
call fcn.005d38c0
mov dword [ebp - 0xdc], eax
test esi, esi
je 0x614e28
mov edx, dword [esi + 8]
mov esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.00618820
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
mov ecx, dword [ebp - 0xe8]
movq qword [ebp - 0x250], xmm0
movups xmmword [ebp - 0x270], xmm0
lea eax, [eax + eax*4]
mov dword [ebp - 0x250], edi
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x270]
movups xmmword [ebp - 0x260], xmm0
call fcn.0061e4c0
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0x270]
push eax
call fcn.006182d0
add esp, 4
test eax, eax
je 0x61473a
mov edx, dword [ebx + 4]
lea ecx, [esi + 0x2c]
push ecx
push eax
mov ecx, edi
call fcn.005d3e30
add esp, 8
mov dword [ebp - 0xdc], eax
lea ecx, [ebp - 0x270]
call fcn.0061eca0
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
inc dword [edi + 0xa4]
mov ecx, edi
push dword [ebx + 0x10]
mov edx, dword [ebx + 4]
call fcn.005d3bc0
add esp, 4
mov dword [ebp - 0xdc], eax
dec dword [edi + 0xa4]
jmp 0x614e2e
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x118], 0
mov esi, dword [eax + 8]
test esi, esi
je 0x6150a6
mov edi, dword [esi]
test edi, edi
je 0x6150a0
lea eax, [ebp - 0x118]
push eax
mov eax, dword [edi + 0x18]
push esi
call eax
mov ecx, dword [ebp - 0xd8]
add esp, 8
mov edx, esi
mov dword [ebp - 0xdc], eax
call fcn.00618820
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x611580
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0xd8]
push 0
push 0xffffffffffffffff
mov dword [eax], esi
mov edx, dword [ebx + 4]
push 0
call fcn.006158a0
add esp, 0xc
test eax, eax
je 0x615087
mov ecx, dword [ebp - 0x118]
mov edi, dword [ebp - 0xe0]
mov dword [eax + 0x24], ecx
inc dword [esi + 4]
jmp 0x614e22
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov edi, dword [ebp - 0xe8]
add edi, 0x28
mov dword [ebp - 0x104], 0
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x38]
mov esi, dword [edi + edx*8]
lea edi, [edi + edx*8]
movd xmm0, edi
mov dword [ebp - 0xec], edi
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0x118], eax
pshufd xmm3, xmm0, 0
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x10c], eax
mov eax, dword [eax]
mov dword [ebp - 0x114], eax
mov eax, dword [eax]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + edx*8]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + 0xc]
test esi, esi
jle 0x61492b
cmp esi, 8
jb 0x61490d
cmp dword [0x6e7d4c], 2
jl 0x61490d
movaps xmm2, xmmword [0x6abb30]
mov eax, esi
and eax, reloc.WS2_32.dll_getsockopt
jns 0x6148ab
dec eax
or eax, 0xfffffff8
inc eax
movaps xmm1, xmmword [str.____.:_f_]
mov edi, esi
sub edi, eax
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx + ecx*4], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm2
pmulld xmm0, xmm1
paddd xmm0, xmm3
paddd xmm0, xmm1
movups xmmword [edx + ecx*4 + 0x10], xmm0
add ecx, 8
cmp ecx, edi
jl 0x6148c0
mov edi, dword [ebp - 0xec]
cmp ecx, esi
jge 0x61492b
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [edi + eax*8]
nop word [eax + eax]
mov dword [edx + ecx*4], eax
inc ecx
add eax, 0x28
cmp ecx, esi
jl 0x614920
mov edi, dword [ebp - 0xf4]
push edx
push esi
push dword [ebx + 0x10]
mov esi, dword [ebp - 0x10c]
push dword [ebp - 0x108]
mov eax, dword [edi + 0x20]
push esi
call eax
mov edx, dword [ebp - 0x114]
add esp, 0x14
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
call fcn.00618820
cmp dword [ebp - 0xdc], 0
jne 0x614976
mov eax, dword [edi + 0x28]
push esi
call eax
add esp, 4
jmp 0x61497c
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x118]
mov byte [ecx + 0x19], 0
test eax, eax
jne 0x614e06
mov edi, dword [ebp - 0xe0]
jmp 0x614e22
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebp - 0xe8]
cmp byte [edx + 0x19], 0
lea eax, [eax + eax*4]
lea edi, [ecx + eax*8]
je 0x6149cc
mov ecx, edi
call fcn.0061e800
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
jmp 0x60fd53
mov eax, dword [edx + 0x24]
xorps xmm0, xmm0
mov esi, dword [eax]
mov ecx, dword [esi]
movups xmmword [ebp - 0x290], xmm0
mov dword [ebp - 0x290], edi
movups xmmword [ebp - 0x280], xmm0
mov ax, word [edi + 8]
and ax, word [ebp - 0x180]
or ax, 1
mov word [edi + 8], ax
lea eax, [ebp - 0x290]
push dword [ebx + 8]
push eax
push dword [edx + 0x24]
mov eax, dword [ecx + 0x2c]
call eax
add esp, 0xc
mov dword [ebp - 0xdc], eax
mov edx, esi
mov esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.00618820
mov eax, dword [ebp - 0x27c]
test eax, eax
mov ecx, dword [ebp - 0xdc]
movzx edx, byte [ebp - 0x11c]
cmovne ecx, eax
mov dword [ebp - 0xdc], ecx
mov ecx, edi
call fcn.0061f1c0
mov ecx, edi
call fcn.0061e5b0
mov edi, dword [ebp - 0xe0]
test eax, eax
jne 0x6150c5
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov ecx, dword [ebx + 4]
mov eax, dword [esi + 0x38]
mov edi, dword [eax + ecx*4]
cmp byte [edi + 0x19], 0
jne 0x613362
mov eax, dword [edi + 0x24]
push eax
mov esi, dword [eax]
mov ecx, dword [esi]
mov dword [ebp - 0xec], ecx
mov eax, dword [ecx + 0x24]
call eax
mov ecx, dword [ebp - 0xd8]
add esp, 4
mov edx, esi
mov dword [ebp - 0xdc], eax
call fcn.00618820
cmp dword [ebp - 0xdc], 0
jne 0x614ace
mov eax, dword [ebp - 0xec]
push dword [edi + 0x24]
mov eax, dword [eax + 0x28]
call eax
mov edi, dword [ebp - 0xe0]
add esp, 4
test eax, eax
jne 0x614ae4
jmp case.0x60fd8f.14
mov edi, dword [ebp - 0xe0]
mov ebx, dword [ebx + 8]
mov ecx, dword [ebp - 0x110]
dec ebx
lea ebx, [ebx + ebx*4]
lea ebx, [ecx + ebx*4]
cmp dword [edi + 0xf0], 0
jne 0x615201
mov ecx, dword [edi + 0x124]
test ecx, ecx
je 0x614e22
mov eax, dword [ebp - 0x144]
cmp eax, dword [ebp - 0x158]
jb 0x614e22
mov esi, dword [edi + 0x12c]
xor edx, edx
div esi
push dword [edi + 0x128]
sub esi, edx
add esi, dword [ebp - 0x144]
mov dword [ebp - 0x158], esi
call ecx
mov esi, dword [ebp - 0xd8]
add esp, 4
test eax, eax
jne 0x614eed
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov eax, dword [ebx + 0x10]
mov ecx, dword [ebp - 0xe8]
mov edi, dword [eax + 8]
mov eax, dword [ebx + 4]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 8], 2
lea esi, [ecx + eax*8]
je 0x614b86
cmp byte [esi + 0xa], 1
je 0x614b86
mov dl, 1
mov ecx, esi
call fcn.0063bb50
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x611580
mov eax, dword [edi]
push dword [esi + 0x10]
push edi
mov eax, dword [eax + 0x4c]
call eax
mov esi, dword [ebp - 0xd8]
add esp, 8
mov edx, edi
mov dword [ebp - 0xdc], eax
mov ecx, esi
call fcn.00618820
and dword [esi + 0x58], 0xfffffff7
mov edi, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + 8]
mov dword [ebp - 0x108], edx
test edx, edx
je 0x6150da
mov eax, dword [edx]
mov dword [ebp - 0xec], eax
test eax, eax
je 0x6150da
cmp dword [eax + 0x34], 0
mov esi, dword [ebx + 8]
je 0x614e22
mov al, byte [edi + 0x45]
mov ecx, dword [ebp - 0xe8]
mov byte [ebp - 0xed], al
mov eax, dword [ebp - 0xd8]
mov edi, dword [eax + 0xc]
mov eax, dword [ebx + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
xor eax, eax
test esi, esi
jle 0x614c21
mov dword [edi + eax*4], ecx
inc eax
add ecx, 0x28
cmp eax, esi
jl 0x614c16
mov ecx, dword [ebp - 0xe0]
mov al, byte [ebx + 3]
mov byte [ecx + 0x45], al
lea eax, [ebp - 0x1c0]
push eax
mov eax, dword [ebp - 0xec]
push edi
push esi
push edx
mov eax, dword [eax + 0x34]
call eax
mov edi, dword [ebp - 0xe0]
add esp, 0x10
mov esi, dword [ebp - 0xd8]
mov ecx, esi
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0xdc], eax
mov al, byte [ebp - 0xed]
mov byte [edi + 0x45], al
call fcn.00618820
mov eax, dword [ebp - 0xdc]
test eax, eax
jne 0x614c9a
cmp dword [ebx + 4], eax
je 0x614c9a
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x138], edx
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], edx
cmp al, 0x13
jne 0x614cee
mov eax, dword [ebx + 0x10]
cmp byte [eax + 0x10], 0
je 0x614ce8
mov al, byte [ebx + 3]
cmp al, 4
jne 0x614cc0
mov dword [ebp - 0xdc], 0
add ebx, 0x14
jmp 0x60fd53
cmp al, 5
jne 0x614cd7
mov eax, 2
mov byte [esi + 0x56], al
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
movzx eax, al
mov byte [esi + 0x56], al
mov eax, dword [ebp - 0xdc]
jmp 0x614e2e
mov eax, dword [ebp - 0xdc]
inc dword [esi + 0x5c]
jmp 0x614e2e
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea edx, [eax + ecx*8]
mov eax, 0x2460
test word [edx + 8], ax
je 0x614d18
mov ecx, edx
call fcn.006155f0
mov edx, eax
jmp 0x614d21
mov eax, 4
mov word [edx + 8], ax
mov ecx, dword [ebx + 4]
mov eax, dword [edi + 0x10]
shl ecx, 4
add ebx, 0x14
mov eax, dword [ecx + eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [edx], eax
mov dword [edx + 4], 0
jmp 0x60fd53
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 8]
lea esi, [eax + ecx*8]
mov eax, 0x2460
test word [esi + 8], ax
je 0x614d67
mov ecx, esi
call fcn.006155f0
mov esi, eax
jmp 0x614d70
mov eax, 4
mov word [esi + 8], ax
mov ecx, dword [ebx + 4]
xor edx, edx
mov eax, dword [edi + 0x10]
add ecx, ecx
mov edi, dword [ebx + 0xc]
mov ecx, dword [eax + ecx*8 + 4]
test edi, edi
je 0x614d90
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, edi
cmovb edx, edi
call fcn.006288e0
mov edi, dword [ebp - 0xe0]
add ebx, 0x14
cdq
mov dword [esi], eax
mov dword [esi + 4], edx
mov esi, dword [ebp - 0xd8]
jmp 0x60fd53
cmp dword [edi + 0xb0], 0
je 0x614dfc
test dword [esi + 0x58], 0x200
jne 0x614dfc
mov edx, dword [ebx + 0x10]
test edx, edx
jne 0x614dd2
mov edx, dword [esi + 0xa8]
test edx, edx
je 0x614dfc
mov ecx, esi
call fcn.006159c0
mov ecx, dword [edi + 0xb0]
mov esi, eax
push esi
push dword [edi + 0xb4]
call ecx
add esp, 8
mov edx, esi
mov ecx, edi
call fcn.0063e560
mov esi, dword [ebp - 0xd8]
cmp dword [ebx + 8], 0
je case.0x60fd8f.62
mov eax, dword [ebx + 8]
mov ecx, dword [ebp - 0x110]
mov edi, dword [ebp - 0xe0]
lea eax, [eax + eax*4]
lea eax, [eax - 5]
lea ebx, [ecx + eax*4]
jmp 0x614e22
mov edi, eax
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xd8]
add ebx, 0x14
mov dword [ebp - 0xe4], ebx
test eax, eax
je 0x60fd60
jmp 0x61526a
mov ecx, dword [ebx + 4]
mov dword [edx + 0x50], ecx
mov al, byte [ebx + 8]
mov byte [edx + 0x56], al
mov dword [edx + 0x4c], esi
test ecx, ecx
je 0x614ec9
mov al, byte [ebx + 3]
test al, al
je 0x614e89
movzx eax, al
mov eax, dword [eax*4 + 0x69ed74]
test eax, eax
je 0x614e8b
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x614e8b
push ecx
push eax
push str._s_constraint_failed:__s
push edx
call fcn.0061d970
add esp, 0x10
jmp 0x614ea9
xor eax, eax
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x614e9a
push ecx
push 0x6ce500
jmp 0x614ea0
push eax
push str._s_constraint_failed
push edx
call fcn.0061d970
add esp, 0xc
mov eax, dword [ebp - 0xd8]
push dword [eax + 0x2c]
push dword [eax + 0xa8]
push esi
push str.abort_at__d_in___s_:__s
push dword [ebx + 4]
call fcn.0063c420
add esp, 0x14
mov esi, dword [ebp - 0xd8]
mov ecx, esi
call fcn.0061a8e0
cmp eax, 5
jne 0x6151e5
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x50], eax
jmp 0x615300
mov eax, 9
jmp 0x615264
push str.cannot_open_savepoint___SQL_statements_in_progress
push esi
call fcn.0061d970
mov edi, dword [ebp - 0xe0]
add esp, 8
mov eax, 5
add ebx, 0x14
jmp 0x615264
mov esi, dword [ebp - 0xd8]
push str.cannot_release_savepoint___SQL_statements_in_progress
push esi
call fcn.0061d970
add esp, 8
mov eax, 5
add ebx, 0x14
jmp 0x615264
sub ebx, dword [ebp - 0x110]
mov eax, 0x66666667
mov esi, dword [ebp - 0xd8]
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x4c], eax
mov eax, 5
mov byte [edi + 0x3f], 0
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x50], eax
jmp 0x615300
mov eax, 8
mov dword [ebp - 0xdc], eax
jmp 0x612e0d
sub ebx, dword [ebp - 0x110]
mov eax, 0x66666667
mov esi, dword [ebp - 0xd8]
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x4c], eax
mov eax, dword [ebp - 0xdc]
mov dword [esi + 0x50], eax
jmp 0x615300
mov ecx, 0x127cd
call fcn.005c0b30
jmp 0x612dfb
mov eax, 0x204
add ebx, 0x14
jmp 0x615264
cmp eax, 0xc0a
je 0x61526a
cmp eax, 0x204
je 0x614fea
mov edx, str.unknown_error
mov ecx, eax
call fcn.005c2bd0
jmp 0x614fef
mov eax, str.abort_due_to_ROLLBACK
push eax
push 0x6ce7c0
push esi
call fcn.0061d970
mov eax, dword [ebp - 0xdc]
add esp, 0xc
jmp 0x61526a
mov esi, dword [ebp - 0xd8]
mov eax, 6
add ebx, 0x14
mov byte [esi + 0x56], 2
jmp 0x615264
push str.too_many_levels_of_trigger_recursion
push esi
mov dword [ebp - 0xdc], 1
call fcn.0061d970
add esp, 8
mov eax, 1
add ebx, 0x14
jmp 0x61526a
cmp esi, 5
mov dword [ebp - 0xdc], 1
mov esi, dword [ebp - 0xd8]
mov ecx, str.out_of
mov eax, str.into
cmovne eax, ecx
push eax
push str.cannot_change__s_wal_mode_from_within_a_transaction
push esi
call fcn.0061d970
mov edi, dword [ebp - 0xe0]
add esp, 0xc
add ebx, 0x14
mov eax, 1
jmp 0x61526a
push dword [ebp - 0x118]
mov eax, dword [edi + 0x1c]
call eax
add esp, 4
mov edi, dword [ebp - 0xe0]
jmp 0x615247
mov edi, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xd8]
mov eax, 6
add ebx, 0x14
jmp 0x615264
mov edi, eax
jmp 0x6150bf
mov edi, ecx
mov esi, dword [ebp - 0xd8]
push 0x6ce798
push esi
call fcn.0061d970
mov eax, 0x12
jmp 0x615261
mov eax, 6
add ebx, 0x14
jmp 0x615264
mov ecx, dword [ebx + 4]
mov edx, dword [ebx + 8]
mov dword [ebp - 0x148], ecx
test ecx, ecx
je 0x615113
cmp byte [edi + 0x3f], 0
jne 0x615113
test edx, edx
jne 0x615113
cmp dword [edi + 0x9c], edx
jle 0x615113
push str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x614f23
movzx eax, byte [edi + 0x3f]
cmp ecx, eax
jne 0x615161
test ecx, ecx
jne 0x61513b
mov eax, str.cannot_start_a_transaction_within_a_transaction
push eax
push esi
call fcn.0061d970
add esp, 8
mov eax, 1
add ebx, 0x14
jmp 0x615264
test edx, edx
mov ecx, str.cannot_commit___no_transaction_is_active
mov eax, str.cannot_rollback___no_transaction_is_active
cmove eax, ecx
push eax
push esi
call fcn.0061d970
add esp, 8
mov eax, 1
add ebx, 0x14
jmp 0x615264
test edx, edx
je 0x615177
mov edx, 0x204
mov ecx, edi
call fcn.005c2bf0
mov byte [edi + 0x3f], 1
jmp 0x61519a
mov edx, 1
mov ecx, esi
call fcn.0061abd0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x615300
mov eax, dword [ebp - 0x148]
mov byte [edi + 0x3f], al
mov ecx, esi
call fcn.0061a8e0
cmp eax, 5
jne 0x6151de
sub ebx, dword [ebp - 0x110]
mov eax, 0x66666667
imul ebx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi + 0x4c], eax
mov al, 1
sub al, byte [ebp - 0x148]
mov byte [edi + 0x3f], al
mov eax, 5
mov dword [ebp - 0xdc], eax
mov dword [esi + 0x50], eax
jmp 0x615300
mov ecx, edi
call fcn.005c3720
cmp dword [esi + 0x50], 0
mov eax, 0x65
mov ecx, 1
cmovne eax, ecx
mov dword [ebp - 0xdc], eax
jmp 0x615300
mov esi, dword [ebp - 0xd8]
mov eax, dword [str.interrupted]
mov ecx, str.unknown_error
test eax, eax
mov dword [ebp - 0xdc], 9
mov dword [esi + 0x50], 9
cmovne ecx, eax
push ecx
push 0x6ce7c4
push esi
call fcn.0061d970
add esp, 0xc
mov eax, 9
jmp 0x61526a
mov edi, dword [ebp - 0xe0]
jmp 0x61524d
mov edi, eax
mov esi, dword [ebp - 0xd8]
push 0x6ce7b0
push esi
mov byte [edi + 0x41], 1
call fcn.0061d970
mov eax, 7
add esp, 8
mov dword [ebp - 0xdc], eax
sub ebx, dword [ebp - 0x110]
push dword [esi + 0x2c]
mov dword [esi + 0x50], eax
mov eax, 0x66666667
push dword [esi + 0xa8]
imul ebx
mov ebx, dword [ebp - 0xdc]
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push str.statement_aborts_at__d:___s___s
push ebx
call fcn.0063c420
add esp, 0x14
mov ecx, esi
call fcn.0061a8e0
cmp ebx, 0xc0a
jne 0x6152b5
mov byte [edi + 0x41], 1
mov cl, byte [ebp - 0x129]
mov eax, 1
mov dword [ebp - 0xdc], eax
test cl, cl
je 0x615300
mov eax, dword [edi + 0x10]
movzx esi, cl
dec esi
mov ecx, esi
add ecx, ecx
push dword [eax + ecx*8 + 0xc]
call fcn.005f7070
add esp, 4
cmp esi, 1
je 0x6152f4
mov eax, dword [edi + 0x10]
push dword [eax + 0x1c]
call fcn.005f7070
add esp, 4
mov eax, dword [ebp - 0xdc]
mov esi, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x134]
mov dword [edi + 0x20], ecx
mov ecx, dword [ebp - 0x138]
mov dword [edi + 0x24], ecx
mov ecx, dword [ebp - 0x144]
add dword [esi + 0x7c], ecx
cmp dword [esi + 0x64], 0
je 0x61532e
mov ecx, esi
call fcn.0061c370
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00583e60
mov esp, ebp
pop ebp
ret