Function at 0x6f0800
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
push ebx
push esi
mov eax, ecx
mov dword [esp + 0x1c], edx
push edi
xor edi, edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x54], edi
mov esi, dword [eax + 8]
mov ecx, dword [eax]
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x44], esi
mov dword [esp + 0x1c], ecx
test edi, edi
je 0x6f084f
xor ebx, ebx
cmp dword [edi], 0x40
cmovge edi, ebx
mov dword [ebp + 0xc], edi
mov edx, dword [edx]
cmp edx, 0x40
jle 0x6f086f
push 0x40
push str.at_most__d_tables_in_a_join
push eax
call fcn.00658480
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [ebp + 0x18], 0x20
mov eax, 1
push 0
cmovne edx, eax
mov dword [esp + 0x2c], edx
lea eax, [edx + edx*2]
shl eax, 5
mov dword [esp + 0x4c], eax
add eax, 0x2ff
and eax, 0xfffffff8
mov dword [esp + 0x44], eax
add eax, 0x50
push eax
call fcn.00654db0
mov ebx, eax
add esp, 8
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x14], ebx
cmp byte [eax + 0x57], 0
je 0x6f08cd
test ebx, ebx
je 0x6f0c40
mov edx, ebx
mov ecx, eax
call fcn.00654910
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov dword [ebx + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x28]
mov dword [ebx], ecx
mov dword [ebx + 8], edi
mov dword [ebx + 0x18], 0xffffffff
mov dword [ebx + 0x14], 0xffffffff
mov byte [ebx + 0x2c], al
mov eax, dword [ecx + 0x38]
dec eax
mov dword [ecx + 0x38], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], eax
mov eax, dword [ebp + 0x18]
mov word [ebx + 0x28], ax
mov eax, dword [ebp + 0x1c]
mov word [ebx + 0x2a], ax
movsx eax, word [ecx + 0x98]
mov dword [ebx + 0x24], eax
mov eax, dword [ebp + 0x14]
mov dword [ebx + 0x10], eax
xor eax, eax
mov dword [ebx + 0x2d], eax
mov dword [ebx + 0x31], eax
mov dword [ebx + 0x35], eax
mov dword [ebx + 0x39], eax
mov dword [ebx + 0x3d], eax
mov dword [ebx + 0x41], eax
mov dword [ebx + 0x45], eax
mov dword [ebx + 0x49], eax
mov word [ebx + 0x4d], ax
mov byte [ebx + 0x4f], al
mov eax, dword [esp + 0x48]
add eax, 0x50
push eax
lea eax, [ebx + 0x2f8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x4c]
lea edi, [ebx + 0x50]
mov edx, dword [ebp + 8]
add ecx, ebx
mov dword [ebx + 0x1f4], 0
add esp, 0xc
mov dword [ebx + 0x1f8], 0xffffff9d
mov dword [esp + 0x5c], ecx
lea eax, [ecx + 0x40]
mov dword [ecx + 0x2c], 0
mov dword [ecx + 0x38], eax
xor eax, eax
mov word [ecx + 0x30], ax
mov eax, 3
mov word [ecx + 0x34], ax
lea eax, [edi + 0x20]
push 0x2c
mov ecx, edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], edi
mov dword [edi], ebx
mov byte [edi + 9], 0
mov dword [edi + 4], 0
mov dword [edi + 0xc], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 8
mov dword [edi + 0x18], eax
call fcn.006e87d0
add esp, 4
cmp dword [esp + 0x28], 0
jne 0x6f0a1d
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x6f09ec
mov al, byte [eax]
mov byte [ebx + 0x2d], al
test dword [ebp + 0x18], 0x100
je 0x6f0a03
mov eax, dword [esp + 0x1c]
test byte [eax + 0x50], 0x10
jne 0x6f0a03
mov byte [ebx + 0x2f], 1
mov ecx, dword [esp + 0x10]
push str.SCAN_CONSTANT_ROW
push 0
push ecx
call fcn.0067b4b0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
jmp 0x6f0a6d
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
add ebx, 8
mov dword [esp + 0x40], 0
mov ecx, dword [esi + 0x1f4]
mov edx, ebx
mov eax, dword [ebx + 0x2c]
push edi
mov dword [esi + ecx*4 + 0x1f8], eax
mov ecx, dword [esp + 0x14]
inc dword [esi + 0x1f4]
call fcn.006e8e40
mov eax, dword [esp + 0x44]
add esp, 4
mov ecx, dword [esp + 0x20]
inc eax
add ebx, 0x48
mov dword [esp + 0x40], eax
cmp eax, dword [ecx]
jl 0x6f0a30
mov esi, dword [esp + 0x44]
mov ebx, dword [edi + 0xc]
sub ebx, 1
js 0x6f0a89
push ebx
mov edx, edi
call fcn.006e7190
mov ecx, dword [esp + 0x24]
add esp, 4
sub ebx, 1
jns 0x6f0a75
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x6f0a9f
cmp dword [eax + 0x3c], 0
je 0x6f0a9f
mov edx, eax
mov ecx, edi
call fcn.006e89f0
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x24], 0
jne 0x6f0c24
mov ebx, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x40], ecx
cmp dword [edi + 0x14], ecx
jle 0x6f0b9c
xor edx, edx
mov esi, eax
mov dword [esp + 0x3c], edx
jmp 0x6f0ad0
mov edi, dword [edi + 0x18]
add edi, edx
test byte [edi + 0xa], 2
jne 0x6f0b80
mov eax, dword [edi + 0x28]
or eax, dword [edi + 0x2c]
mov ebx, dword [edi]
jne 0x6f0b7c
cmp dword [esp + 0x28], eax
je 0x6f0b4c
mov dword [esp + 0x80], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x84], eax
mov eax, 1
mov word [esp + 0x80], ax
mov dword [esp + 0x70], 0x6f00a0
mov dword [esp + 0x74], 0x694860
test ebx, ebx
je 0x6f0b4c
mov edx, ebx
lea ecx, [esp + 0x6c]
call fcn.0068e3e0
cmp word [esp + 0x80], 0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
je 0x6f0b7c
test byte [ebx + 4], 2
je 0x6f0b5c
mov eax, dword [esp + 0x20]
test byte [eax + 0x2c], 0x40
jne 0x6f0b7c
mov edx, dword [esp + 0x14]
push 0x10
push dword [edx + 0x20]
push ebx
push esi
call fcn.0069b1e0
mov ecx, dword [esp + 0x50]
add esp, 0x10
or word [edi + 0xa], 4
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x14]
inc ecx
lea edi, [ebx + 0x50]
add edx, 0x30
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], edx
cmp ecx, dword [edi + 0x14]
jl 0x6f0ad0
mov esi, dword [esp + 0x44]
mov ecx, dword [ebp + 0x18]
test ecx, 0x100
je 0x6f0bc7
mov eax, dword [esp + 0x1c]
test byte [eax + 0x50], 0x10
je 0x6f0c49
and ecx, 0xfeff
mov eax, 0xfeff
and word [ebx + 0x28], ax
mov dword [ebp + 0x18], ecx
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x28], 1
jne 0x6f0be3
lea ecx, [esp + 0x54]
call fcn.006efe40
test eax, eax
jne 0x6f0c8a
lea ecx, [esp + 0x54]
call fcn.006ee620
test eax, eax
jne 0x6f0c24
xor edx, edx
mov ecx, ebx
call fcn.006ef2c0
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x57], 0
jne 0x6f0c24
cmp dword [ebx + 8], 0
je 0x6f0c94
movzx edx, word [ebx + 0x34]
mov ecx, ebx
inc dx
call fcn.006ef2c0
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x57], 0
je 0x6f0c8e
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov ax, word [edx + 0x24]
mov word [ecx + 0x98], ax
mov ecx, dword [esp + 0x1c]
call fcn.006eb650
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp + 0x10]
mov edx, dword [esp + 0x24]
push edi
mov edi, dword [esp + 0x18]
mov ecx, edi
call fcn.006e9680
add esp, 8
test eax, eax
je 0x6f0c6c
mov byte [ebx + 0x2f], 1
jmp 0x6f0bcb
cmp dword [ebp + 0xc], 0
jne 0x6f0bcb
mov eax, 0x80
or word [ebx + 0x28], ax
mov eax, dword [ebp + 0x10]
mov dword [ebx + 8], eax
jmp 0x6f0bcb
mov eax, dword [esp + 0x1c]
cmp dword [ebx + 8], 0
jne 0x6f0ca8
mov eax, dword [eax + 0x20]
and eax, 0x1000
or eax, 0
je 0x6f0ca8
mov ecx, ebx
call fcn.006f07a0
cmp dword [edi + 0x24], 0
jne 0x6f0c24
mov al, byte [ebx + 0x2c]
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x40], 0xffffffff
cmp al, 2
jb 0x6f0d22
cmp dword [ebp + 0x10], 0
je 0x6f0d0e
mov eax, dword [ebp + 0x18]
xor ecx, ecx
and eax, 0x400
cmp cx, ax
mov eax, dword [esp + 0x1c]
jne 0x6f0d12
test dword [eax + 0x50], 0x100
jne 0x6f0d12
sub esp, 8
mov ecx, ebx
call fcn.006f00d0
mov dword [esp + 0x44], eax
add esp, 8
mov al, byte [ebx + 0x2c]
movzx ecx, al
mov dword [esp + 0x40], edx
mov dword [esp + 0x28], ecx
cmp al, 2
jb 0x6f0d22
mov eax, dword [esp + 0x1c]
test dword [eax + 0x50], 0x80000
jne 0x6f0d22
mov ecx, ebx
call fcn.006f0350
mov ecx, dword [ebx]
mov ax, word [ebx + 0x34]
add word [ecx + 0x98], ax
xor ecx, ecx
mov eax, dword [ebp + 0x18]
test al, 4
je 0x6f0dab
mov edi, dword [ebx + 0x348]
mov edx, dword [edi + 0x2c]
test edx, 0x1000
jne 0x6f0d77
test al, 8
je 0x6f0da7
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x18]
cmp byte [eax + 0x2b], 1
je 0x6f0da7
test edx, 0x2000
je 0x6f0d68
test byte [ebp + 0x18], 0x10
je 0x6f0da7
mov eax, dword [esp + 0x1c]
xor ecx, ecx
test dword [eax + 0x50], 0x8000000
jne 0x6f0da7
mov eax, edx
and eax, 0x1000
neg eax
sbb al, al
xor ecx, ecx
add al, 2
mov byte [ebx + 0x2e], al
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x18]
test byte [eax + 0x1c], 0x80
jne 0x6f0da7
test dl, 0x40
je 0x6f0da7
mov ecx, dword [ebp + 0x18]
and edx, 0xffffffbf
mov dword [edi + 0x2c], edx
and ecx, 8
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
movzx eax, cx
mov dword [esp + 0x4c], eax
lea eax, [ebx + 0x2f8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x48], 0
test edx, edx
jle 0x6f1528
jmp 0x6f0dd6
mov edi, dword [esp + 0x10]
movzx eax, byte [eax + 0x3c]
mov edx, 0xffff8000
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x34], edx
lea eax, [eax + eax*8]
lea eax, [eax + 1]
lea eax, [ecx + eax*8]
mov dword [esp + 0x24], eax
mov eax, dword [eax + 0x10]
mov dword [esp + 0x18], eax
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x6f0e22
mov eax, dword [esp + 0x1c]
xor edx, edx
mov dword [esp + 0x34], edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x6f0e22
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x6f0e16
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x18]
test dword [ecx + 0x1c], 0x4000
jne 0x6f0f78
mov al, byte [ecx + 0x2b]
cmp al, 2
je 0x6f0f78
mov ecx, dword [esp + 0x38]
mov ecx, dword [ecx + 0x2c]
test ecx, 0x400
je 0x6f0f26
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x34]
test edi, edi
je 0x6f0e7b
mov eax, dword [esp + 0x1c]
jmp 0x6f0e70
cmp dword [edi], eax
je 0x6f0e7b
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x6f0e70
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x2c]
mov edx, dword [esi + 0x6c]
mov dword [esp + 0x30], eax
cmp dword [esi + 0x70], edx
jg 0x6f0ea6
push 0
push 0
push eax
mov edx, 0xad
mov ecx, esi
call fcn.0067ad20
add esp, 0xc
mov edx, eax
jmp 0x6f0edd
mov ebx, dword [esp + 0x30]
lea eax, [edx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [edx + edx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], ebx
mov ebx, dword [esp + 0x14]
mov dword [eax + ecx*4], 0xad
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
cmp byte [eax + 0x57], 0
jne 0x6f0f74
test edx, edx
jns 0x6f0ef1
mov edx, dword [esi + 0x6c]
dec edx
mov eax, dword [esi + 0x68]
lea ecx, [edx + edx*4]
cmp byte [eax + ecx*4 + 1], 0
lea eax, [eax + ecx*4]
je 0x6f0f12
push 0xfffffffffffffff5
push edi
mov edx, eax
mov ecx, esi
call fcn.0067bb60
add esp, 8
jmp 0x6f0f74
mov ecx, dword [esp + 0x18]
test edi, edi
je 0x6f0f78
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf5
inc dword [edi + 0xc]
jmp 0x6f0f78
cmp al, 1
je 0x6f0f74
test cl, 0x40
jne 0x6f0f39
test byte [ebp + 0x18], 0x20
je 0x6f1083
mov eax, dword [esp + 0x24]
test byte [eax + 0x24], 0x50
jne 0x6f1087
cmp edx, 1
je 0x6f0f74
mov eax, dword [edi]
mov ecx, edx
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
cmp byte [eax + 9], 0
je 0x6f0f74
mov eax, dword [esp + 0x18]
mov ecx, edi
push dword [eax]
push 0
push dword [eax + 0x14]
call fcn.006a4060
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
test dword [eax + 0x2c], 0x200
je 0x6f0fc1
test byte [ecx + 0x1c], 0x80
mov ebx, dword [eax + 0x20]
mov eax, 0x70
mov dword [esp + 0x30], eax
je 0x6f1167
mov eax, dword [ebx + 0x38]
and al, 3
cmp al, 2
mov eax, dword [ebp + 0x18]
jne 0x6f116a
test al, 0x20
je 0x6f116a
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + 4]
mov dword [ecx + 8], eax
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
test ecx, ecx
js 0x6f0ff5
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x7c]
test eax, eax
cmovne edx, eax
mov eax, 1
shl eax, cl
mov edi, dword [edx + 0x58]
test edi, eax
jne 0x6f0ff5
bts edi, ecx
mov dword [edx + 0x58], edi
cmp ecx, 1
jne 0x6f0ff5
mov ecx, edx
call fcn.006ad110
mov eax, dword [esp + 0x24]
test byte [eax + 0x24], 0x10
je 0x6f1508
mov ecx, dword [ebx]
push 0
push 0x24
mov ecx, dword [ecx]
call fcn.00654db0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x6f1036
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x44]
mov dword [ebx], ecx
mov dword [ebx + 8], 0x14
mov dword [ebx + 0xc], 0
mov dword [edx + 0x44], ebx
add ebx, 0x10
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x38], ebx
test ebx, ebx
je 0x6f15b3
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0x28]
mov dword [ebx], eax
mov edx, dword [edi + 0x2c]
inc dword [edi + 0x28]
inc edx
mov dword [edi + 0x2c], edx
mov dword [ebx + 4], edx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x6f12e7
push 0
push edx
push 0x10000
mov edx, 0x4d
mov ecx, esi
call fcn.0067ad20
add esp, 0xc
jmp 0x6f1316
mov eax, dword [esp + 0x24]
cmp byte [ebx + 0x2e], 0
mov ecx, 0x70
je 0x6f109d
mov eax, dword [eax + 0x2c]
mov ecx, 0x71
mov dword [ebx + 0x14], eax
mov eax, dword [esp + 0x18]
push ecx
push eax
push edx
mov edx, dword [esp + 0x30]
mov ecx, edi
mov edx, dword [edx + 0x2c]
call fcn.006b7cb0
mov ecx, dword [esp + 0x24]
add esp, 0xc
cmp byte [ebx + 0x2e], 0
jne 0x6f1148
cmp word [ecx + 0x22], 0x40
jge 0x6f1148
test byte [ecx + 0x1c], 0xe0
jne 0x6f1148
mov eax, dword [esp + 0x38]
test dword [eax + 0x2c], 0x404000
jne 0x6f1148
mov eax, dword [esp + 0x24]
xor edi, edi
mov edx, dword [eax + 0x38]
mov ecx, dword [eax + 0x3c]
mov eax, edx
or eax, ecx
je 0x6f1100
shrd edx, ecx, 1
inc edi
shr ecx, 1
mov eax, edx
or eax, ecx
jne 0x6f10f3
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x6f1118
push edi
mov edx, 0xfffffffd
call fcn.0067ba70
add esp, 4
jmp 0x6f1144
mov eax, dword [esi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
cmp byte [eax + ecx*4 - 0x13], 0
lea eax, [eax + ecx*4]
je 0x6f113d
push 0xfffffffffffffffd
push edi
lea edx, [eax - 0x14]
mov ecx, esi
call fcn.0067bb60
add esp, 8
jmp 0x6f1144
mov dword [eax - 4], edi
mov byte [eax - 0x13], 0xfd
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x6f0f78
mov edx, dword [esp + 0x4c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x6f0f74
mov eax, dword [ebp + 0x18]
mov edx, dword [esp + 0x14]
cmp byte [edx + 0x2e], 0
je 0x6f11a1
mov eax, dword [esp + 0x24]
mov edi, dword [ebp + 0x1c]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
test eax, eax
je 0x6f1191
cmp eax, ebx
je 0x6f1191
mov eax, dword [eax + 0x14]
inc edi
test eax, eax
jne 0x6f1185
mov eax, 0x71
mov dword [edx + 0x18], edi
mov dword [esp + 0x30], eax
mov edx, eax
jmp 0x6f11ef
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x6f11b9
test al, 0x20
je 0x6f11b9
mov edx, 0x65
mov edi, ecx
mov dword [esp + 0x30], edx
jmp 0x6f11ef
mov ecx, dword [esp + 0x10]
mov edi, dword [ecx + 0x28]
lea eax, [edi + 1]
mov dword [ecx + 0x28], eax
test dword [ebx + 0x38], 0x800
je 0x6f11eb
mov eax, dword [esp + 0x1c]
test dword [eax + 0x50], 0x1000000
jne 0x6f11eb
push dword [esp + 0x24]
mov edx, ebx
push edi
call fcn.006f04e0
add esp, 8
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov eax, edi
mov dword [ecx + 8], eax
mov ecx, dword [esi + 0x6c]
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x50], eax
cmp dword [esi + 0x70], ecx
jg 0x6f121e
mov edx, dword [esp + 0x34]
mov ecx, esi
push edx
mov edx, dword [esp + 0x34]
push eax
push edi
call fcn.0067ad20
add esp, 0xc
jmp 0x6f1255
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov byte [eax + ecx*4], dl
xor edx, edx
mov word [eax + ecx*4 + 2], dx
mov edx, dword [esp + 0x50]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x34]
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov byte [eax + ecx*4 + 1], 0
mov eax, dword [esp + 0x10]
mov edx, ebx
mov ecx, eax
mov edi, dword [eax + 8]
call fcn.006ada20
mov edx, eax
test edx, edx
je 0x6f1295
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x6f1283
push edx
mov edx, 0xfffffff8
call fcn.0067ba70
add esp, 4
jmp 0x6f1295
mov eax, dword [edi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov byte [eax + ecx*4 - 0x13], 0xf8
mov dword [eax + ecx*4 - 4], edx
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x2c]
test al, 0xf
je 0x6f0fbd
mov ebx, dword [esp + 0x14]
test eax, 0x188002
jne 0x6f0fc1
test byte [ebx + 0x28], 1
jne 0x6f0fc1
cmp byte [ebx + 0x2f], 2
je 0x6f0fc1
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x6f0fc1
lea ecx, [eax + eax*4]
mov edx, 2
mov eax, dword [esi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
jmp 0x6f0fc1
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4d
mov dword [eax + ecx*4 + 4], 0x10000
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
inc dword [edi + 0x2c]
mov edx, dword [edi + 0x2c]
mov dword [ebx + 8], edx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x6f133d
push 0
push edx
push 0
mov edx, 0x4b
mov ecx, esi
call fcn.0067ad20
add esp, 0xc
jmp 0x6f1370
mov edi, dword [esp + 0x10]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x4b
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x18]
test byte [eax + 0x1c], 0x80
jne 0x6f144b
mov ecx, dword [esi + 0x6c]
mov edx, dword [ebx]
cmp dword [esi + 0x70], ecx
jg 0x6f139e
push 0
push 1
push edx
mov edx, 0x76
mov ecx, esi
call fcn.0067ad20
add esp, 0xc
jmp 0x6f13cd
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x76
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [edi]
mov ecx, edi
push 0
push 0x19
call fcn.00654db0
mov edx, eax
add esp, 8
test edx, edx
je 0x6f1404
lea ecx, [edx + 0x18]
mov dword [edx + 6], 0x10001
mov dword [edx + 0x10], ecx
mov al, byte [edi + 0x54]
mov byte [edx + 4], al
mov dword [edx + 0xc], edi
mov dword [edx], 1
mov byte [ecx], 0
jmp 0x6f1415
mov ecx, edi
call fcn.00655080
mov edx, eax
test edx, edx
je 0x6f14f4
mov eax, dword [edx + 0x10]
mov dword [edx + 0x14], 0
mov byte [eax], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x57], 0
je 0x6f143d
push edx
mov edx, 0xfffffff8
call fcn.0067ba70
add esp, 4
jmp 0x6f14f4
mov eax, dword [esi + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
jmp 0x6f14eb
mov edi, dword [eax + 8]
test edi, edi
je 0x6f1462
mov eax, dword [edi + 0x38]
and al, 3
cmp al, 2
je 0x6f1462
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x6f1452
mov ecx, dword [esi + 0x6c]
movzx edx, word [edi + 0x32]
mov ebx, dword [ebx]
cmp dword [esi + 0x70], ecx
jg 0x6f1485
push 0
push edx
push ebx
mov edx, 0x76
mov ecx, esi
call fcn.0067ad20
add esp, 0xc
jmp 0x6f14b4
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4], 0x76
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x10]
mov edx, edi
mov ecx, eax
mov ebx, dword [eax + 8]
call fcn.006ada20
mov edx, eax
test edx, edx
je 0x6f14f4
mov ecx, dword [ebx]
cmp byte [ecx + 0x57], 0
je 0x6f14e2
push edx
mov edx, 0xfffffff8
call fcn.0067ba70
add esp, 4
jmp 0x6f14f4
mov eax, dword [ebx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x68]
mov dword [eax + ecx*4 - 4], edx
mov byte [eax + ecx*4 - 0x13], 0xf8
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x14]
and dword [ecx + 0x2c], 0xffffffbf
mov byte [ebx + 0x2d], 0
mov byte [ebx + 0x2f], 3
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x48]
add eax, 0x60
mov edx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x2c], eax
cmp ecx, edx
jl 0x6f0dd2
mov eax, dword [esi + 0x6c]
mov dword [ebx + 0x38], eax
mov eax, dword [esp + 0x1c]
cmp byte [eax + 0x57], 0
jne 0x6f0c24
xor ecx, ecx
mov dword [esp + 0x2c], ecx
test edx, edx
jle 0x6f176b
lea edi, [ebx + 0x2f8]
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x24], 0
jne 0x6f0c24
mov eax, dword [edi + 0x50]
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x4c], eax
movzx eax, byte [edi + 0x3c]
lea eax, [eax + eax*8]
lea edx, [edx + eax*8]
mov eax, dword [edx + 0x30]
mov dword [esp + 0x48], edx
test al, 0x10
je 0x6f16c8
test al, 8
je 0x6f15f0
mov eax, dword [edx + 0x20]
mov ecx, dword [esi + 0x6c]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x50], eax
cmp dword [esi + 0x70], ecx
jg 0x6f15bc
push 0
push eax
push edx
mov edx, 0xa
mov ecx, esi
call fcn.0067ad20
add esp, 0xc
jmp 0x6f16c4
mov ebx, dword [esp + 0x14]
jmp 0x6f150c
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x50]
mov dword [eax + ecx*4], 0xa
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x6f16c0
mov ebx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ebx
jg 0x6f1611
push 0
push 0
push 0
mov edx, 0xf
mov ecx, esi
call fcn.0067ad20
add esp, 0xc
mov ebx, eax
jmp 0x6f1644
lea eax, [ebx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ebx + ebx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0xf
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x48]
mov ecx, dword [esi + 0x6c]
mov eax, dword [edx + 0x20]
mov edx, dword [edx + 0x24]
mov dword [esp + 0x50], eax
cmp dword [esi + 0x70], ecx
jg 0x6f166f
push 0
push eax
push edx
mov edx, 0xa
mov ecx, esi
call fcn.0067ad20
add esp, 0xc
jmp 0x6f16a2
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov esi, dword [esp + 0x44]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x50]
mov dword [eax + ecx*4], 0xa
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x6f16b4
mov eax, 0x96e3e0
jmp 0x6f16bd
mov eax, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x4c]
test eax, 0x404000
je 0x6f1714
test eax, 0x4000
je 0x6f16f1
mov ecx, dword [esp + 0x10]
lea edx, [ebx + 0x50]
push edi
push dword [esp + 0x44]
push dword [esp + 0x44]
call fcn.006e9930
jmp 0x6f1703
push dword [esp + 0x40]
mov edx, ecx
mov ecx, ebx
push dword [esp + 0x40]
push edi
call fcn.006ea7c0
mov eax, dword [esp + 0x28]
add esp, 0xc
cmp byte [eax + 0x57], 0
jne 0x6f0c24
push dword [ebp + 0x18]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push edi
call fcn.006e0510
push dword [esp + 0x48]
mov eax, dword [esi + 0x6c]
mov edx, esi
push dword [esp + 0x48]
mov ecx, dword [esp + 0x20]
push edi
push dword [esp + 0x40]
mov dword [edi + 0x20], eax
push ebx
call fcn.006e2110
mov ecx, dword [esp + 0x48]
add esp, 0x1c
mov dword [esp + 0x3c], eax
inc ecx
mov eax, dword [edi + 0x18]
add edi, 0x60
mov dword [esp + 0x40], edx
mov dword [ebx + 0x1c], eax
mov dword [esp + 0x2c], ecx
cmp ecx, dword [esp + 0x28]
jl 0x6f1550
mov eax, dword [esi + 0x6c]
pop edi
mov dword [ebx + 0x3c], eax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret