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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x3c
mov ebp, dword [ecx]
mov dword [esp + 0x20], ecx
mov ecx, dword [ecx + 4]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov eax, ecx
sub eax, ebp
sub ebx, ebp
sar eax, 3
imul eax, eax, 0xeeeeeeef
test eax, eax
je 0x6c6b60
lea edx, [eax + eax]
mov edi, 0xfffffff0
cmp eax, edx
jbe 0x6c6b70
mov dword [esp], edi
call fcn.006ff530
mov ecx, dword [esp + 0x20]
add edi, eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edi
lea edi, [eax + 0x78]
mov ebp, dword [ecx]
mov ecx, dword [ecx + 4]
add ebx, dword [esp + 0x1c]
je 0x6c6789
mov edx, dword [esi]
mov dword [ebx], edx
mov edx, dword [esi + 4]
mov dword [ebx + 4], edx
mov edx, dword [esi + 8]
mov dword [ebx + 8], edx
mov edx, dword [esi + 0xc]
mov dword [ebx + 0xc], edx
mov edx, dword [esi + 0x10]
mov dword [ebx + 0x10], edx
mov edx, dword [esi + 0x14]
mov dword [esi + 0x14], 0
mov dword [ebx + 0x14], edx
mov edx, dword [esi + 0x18]
mov dword [esi + 0x18], 0
mov dword [ebx + 0x18], edx
mov edx, dword [esi + 0x1c]
mov dword [esi + 0x1c], 0
mov dword [ebx + 0x1c], edx
mov edx, dword [esi + 0x20]
mov dword [esi + 0x20], 0
mov dword [ebx + 0x20], edx
mov edx, dword [esi + 0x24]
mov dword [esi + 0x24], 0
mov dword [ebx + 0x24], edx
mov edx, dword [esi + 0x28]
mov dword [esi + 0x28], 0
mov dword [ebx + 0x28], edx
mov edx, dword [esi + 0x2c]
mov dword [ebx + 0x2c], edx
mov edx, dword [esi + 0x30]
mov dword [ebx + 0x30], edx
mov dword [esi + 0x2c], 0
mov edx, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
mov dword [esi + 0x30], 0
mov dword [ebx + 0x3c], edx
movzx edx, byte [esi + 0x40]
mov dword [ebx + 0x38], eax
mov byte [ebx + 0x40], dl
mov edx, dword [esi + 0x44]
mov dword [ebx + 0x44], edx
mov edx, dword [esi + 0x48]
mov dword [esi + 0x48], 0
mov dword [ebx + 0x48], edx
mov edx, dword [esi + 0x4c]
mov dword [esi + 0x4c], 0
mov dword [ebx + 0x4c], edx
mov edx, dword [esi + 0x50]
mov dword [esi + 0x50], 0
mov dword [ebx + 0x50], edx
mov edx, dword [esi + 0x54]
mov dword [esi + 0x54], 0
mov dword [ebx + 0x54], edx
movzx edx, word [esi + 0x58]
mov word [ebx + 0x58], dx
movzx edx, byte [esi + 0x5c]
mov byte [ebx + 0x5c], dl
mov edx, dword [esi + 0x60]
mov dword [ebx + 0x60], edx
mov edx, dword [esi + 0x64]
mov dword [esi + 0x64], 0
mov dword [ebx + 0x64], edx
mov edx, dword [esi + 0x68]
mov dword [ebx + 0x68], edx
mov dword [esi + 0x68], 0
mov edx, dword [esi + 0x6c]
mov dword [esi + 0x6c], 0
mov dword [ebx + 0x6c], edx
mov edx, dword [esi + 0x70]
mov dword [esi + 0x70], 0
mov dword [ebx + 0x70], edx
movzx edx, word [esi + 0x74]
mov word [ebx + 0x74], dx
cmp dword [esp + 0x50], ebp
je 0x6c6ba0
mov edi, dword [esp + 0x50]
lea ebx, [ebp + 0x78]
mov edx, dword [esp + 0x1c]
mov eax, ebp
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ebx
sub edi, ebx
shr edi, 3
imul edi, edi, 0xeeeeeef
and edi, 0x1fffffff
lea esi, [edi + 1]
imul esi, esi, 0x78
add esi, edx
test edx, edx
je 0x6c6be0
mov ecx, dword [eax]
add edx, 0x78
add eax, 0x78
mov dword [edx - 0x78], ecx
mov ecx, dword [eax - 0x74]
mov dword [edx - 0x74], ecx
mov ecx, dword [eax - 0x70]
mov dword [edx - 0x70], ecx
mov ecx, dword [eax - 0x6c]
mov dword [edx - 0x6c], ecx
mov ecx, dword [eax - 0x68]
mov dword [edx - 0x68], ecx
mov ecx, dword [eax - 0x64]
mov dword [edx - 0x64], ecx
mov ecx, dword [eax - 0x60]
mov dword [edx - 0x60], ecx
mov ecx, dword [eax - 0x5c]
mov dword [eax - 0x64], 0
mov dword [eax - 0x60], 0
mov dword [edx - 0x5c], ecx
mov ecx, dword [eax - 0x58]
mov dword [edx - 0x58], ecx
mov ecx, dword [eax - 0x54]
mov dword [eax - 0x5c], 0
mov dword [eax - 0x58], 0
mov dword [edx - 0x54], ecx
mov ecx, dword [eax - 0x50]
mov dword [edx - 0x50], ecx
mov ecx, dword [eax - 0x4c]
mov dword [eax - 0x54], 0
mov dword [eax - 0x50], 0
mov dword [edx - 0x4c], ecx
mov ecx, dword [eax - 0x48]
mov dword [edx - 0x48], ecx
mov dword [eax - 0x4c], 0
mov ecx, dword [eax - 0x40]
mov dword [eax - 0x48], 0
mov ebx, dword [eax - 0x3c]
mov dword [edx - 0x40], ecx
movzx ecx, byte [eax - 0x38]
mov dword [edx - 0x3c], ebx
mov byte [edx - 0x38], cl
mov ecx, dword [eax - 0x34]
mov dword [edx - 0x34], ecx
mov ecx, dword [eax - 0x30]
mov dword [edx - 0x30], ecx
mov ecx, dword [eax - 0x2c]
mov dword [edx - 0x2c], ecx
mov ecx, dword [eax - 0x28]
mov dword [eax - 0x30], 0
mov dword [eax - 0x2c], 0
mov dword [edx - 0x28], ecx
mov ecx, dword [eax - 0x24]
mov dword [edx - 0x24], ecx
movzx ecx, word [eax - 0x20]
mov dword [eax - 0x28], 0
mov dword [eax - 0x24], 0
mov word [edx - 0x20], cx
movzx ecx, byte [eax - 0x1c]
mov byte [edx - 0x1c], cl
mov ecx, dword [eax - 0x18]
mov dword [edx - 0x18], ecx
mov ecx, dword [eax - 0x14]
mov dword [edx - 0x14], ecx
mov ecx, dword [eax - 0x10]
mov dword [edx - 0x10], ecx
mov dword [eax - 0x14], 0
mov dword [eax - 0x10], 0
mov ecx, dword [eax - 0xc]
mov dword [edx - 0xc], ecx
mov ecx, dword [eax - 8]
mov dword [edx - 8], ecx
movzx ecx, word [eax - 4]
mov dword [eax - 0xc], 0
mov dword [eax - 8], 0
mov word [edx - 4], cx
cmp esi, edx
jne 0x6c67c1
imul edi, edi, 0x78
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x50], ecx
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2c]
lea edi, [eax + edi + 0xf0]
je 0x6c6bb0
mov edx, dword [esp + 0x50]
mov esi, ecx
mov eax, edi
lea ebx, [edx + 0x78]
sub esi, ebx
shr esi, 3
imul esi, esi, 0xeeeeeef
and esi, 0x1fffffff
add esi, 1
imul esi, esi, 0x78
add esi, edi
mov edi, ecx
test eax, eax
je 0x6c6bc0
mov ebx, dword [edx]
add eax, 0x78
add edx, 0x78
mov dword [eax - 0x78], ebx
mov ebx, dword [edx - 0x74]
mov dword [eax - 0x74], ebx
mov ebx, dword [edx - 0x70]
mov dword [eax - 0x70], ebx
mov ebx, dword [edx - 0x6c]
mov dword [eax - 0x6c], ebx
mov ebx, dword [edx - 0x68]
mov dword [eax - 0x68], ebx
mov ebx, dword [edx - 0x64]
mov dword [edx - 0x64], 0
mov dword [eax - 0x64], ebx
mov ebx, dword [edx - 0x60]
mov dword [edx - 0x60], 0
mov dword [eax - 0x60], ebx
mov ebx, dword [edx - 0x5c]
mov dword [edx - 0x5c], 0
mov dword [eax - 0x5c], ebx
mov ebx, dword [edx - 0x58]
mov dword [edx - 0x58], 0
mov dword [eax - 0x58], ebx
mov ebx, dword [edx - 0x54]
mov dword [edx - 0x54], 0
mov dword [eax - 0x54], ebx
mov ebx, dword [edx - 0x50]
mov dword [edx - 0x50], 0
mov dword [eax - 0x50], ebx
mov ebx, dword [edx - 0x4c]
mov dword [eax - 0x4c], ebx
mov ebx, dword [edx - 0x48]
mov dword [eax - 0x48], ebx
mov dword [edx - 0x4c], 0
mov ebx, dword [edx - 0x3c]
mov ecx, dword [edx - 0x40]
mov dword [edx - 0x48], 0
mov dword [eax - 0x3c], ebx
movzx ebx, byte [edx - 0x38]
mov dword [eax - 0x40], ecx
mov byte [eax - 0x38], bl
mov ebx, dword [edx - 0x34]
mov dword [eax - 0x34], ebx
mov ebx, dword [edx - 0x30]
mov dword [edx - 0x30], 0
mov dword [eax - 0x30], ebx
mov ebx, dword [edx - 0x2c]
mov dword [edx - 0x2c], 0
mov dword [eax - 0x2c], ebx
mov ebx, dword [edx - 0x28]
mov dword [edx - 0x28], 0
mov dword [eax - 0x28], ebx
mov ebx, dword [edx - 0x24]
mov dword [edx - 0x24], 0
mov dword [eax - 0x24], ebx
movzx ebx, word [edx - 0x20]
mov word [eax - 0x20], bx
movzx ebx, byte [edx - 0x1c]
mov byte [eax - 0x1c], bl
mov ebx, dword [edx - 0x18]
mov dword [eax - 0x18], ebx
mov ebx, dword [edx - 0x14]
mov dword [edx - 0x14], 0
mov dword [eax - 0x14], ebx
mov ebx, dword [edx - 0x10]
mov dword [eax - 0x10], ebx
mov dword [edx - 0x10], 0
mov ebx, dword [edx - 0xc]
mov dword [edx - 0xc], 0
mov dword [eax - 0xc], ebx
mov ebx, dword [edx - 8]
mov dword [edx - 8], 0
mov dword [eax - 8], ebx
movzx ebx, word [edx - 4]
mov word [eax - 4], bx
cmp esi, eax
jne 0x6c6940
cmp edi, ebp
mov ecx, edi
je 0x6c6b34
lea ebx, [ebp + 0x78]
mov edi, ecx
sub edi, ebx
shr edi, 3
imul edi, edi, 0xeeeeeef
and edi, 0x1fffffff
add edi, 1
imul edi, edi, 0x78
add edi, ebp
jmp 0x6c6ab4
mov dword [esp], eax
mov ebp, ebx
call fcn.006ff4e0
cmp ebx, edi
je 0x6c6b2e
add ebx, 0x78
mov eax, dword [ebp + 0x6c]
test eax, eax
je 0x6c6ac3
mov dword [esp], eax
call fcn.006ff4e0
mov eax, dword [ebp + 0x64]
test eax, eax
je 0x6c6ad2
mov dword [esp], eax
call fcn.006ff4e0
mov eax, dword [ebp + 0x50]
test eax, eax
je 0x6c6ae1
mov dword [esp], eax
call fcn.006ff4e0
mov eax, dword [ebp + 0x48]
test eax, eax
je 0x6c6af0
mov dword [esp], eax
call fcn.006ff4e0
mov eax, dword [ebp + 0x2c]
test eax, eax
je 0x6c6aff
mov dword [esp], eax
call fcn.006ff4e0
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x6c6b0e
mov dword [esp], eax
call fcn.006ff4e0
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x6c6b1d
mov dword [esp], eax
call fcn.006ff4e0
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x6c6aa3
cmp ebx, edi
mov ebp, ebx
jne 0x6c6ab1
mov eax, dword [esp + 0x20]
mov ebp, dword [eax]
test ebp, ebp
je 0x6c6b40
mov dword [esp], ebp
call fcn.006ff4f0
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov dword [eax], edi
mov edi, dword [esp + 0x24]
mov dword [eax + 4], esi
mov dword [eax + 8], edi
add esp, 0x3c
pop ebx
pop esi
pop edi
pop ebp
ret 8
mov edx, 1
imul edi, edx, 0x78
jmp 0x6c663f
cmp edx, 0x2222222
ja 0x6c663f
test edx, edx
jne 0x6c6b65
mov edi, 0x78
mov dword [esp + 0x24], 0
mov dword [esp + 0x1c], 0
jmp 0x6c665d
cmp ecx, ebp
mov esi, edi
jne 0x6c691a
jmp 0x6c6b34
mov esi, edi
jmp 0x6c6a86
add edx, 0x78
cmp esi, 0x78
je 0x6c6a79
mov eax, 0x78
jmp 0x6c6948
add eax, 0x78
cmp esi, 0x78
je 0x6c68fa
mov edx, 0x78
jmp 0x6c67c9