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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x1c]
cmp eax, dword [ecx + 8]
jbe 0x6c3cb1
sub esp, 0x9c
lea edi, [esp + 0x88]
lea esi, [esp + 0xac]
call fcn.0045fbfe
nop
nop
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
test ecx, 0x80000000
je 0x6c3816
shl ecx, 1
mov edx, eax
shr eax, 0x1f
or eax, ecx
shl edx, 1
mov ecx, eax
shl eax, 1
shr edx, 0x1f
or eax, edx
mov edx, eax
add eax, 0xd7b17f80
mov dword [esp + 0x90], eax
shr ecx, 0x1f
add edx, 0xd7b17f80
adc ecx, 0xd
mov dword [esp + 0x94], ecx
and dword [esp + 0x88], 0x3fffffff
mov dword [esp + 0x8c], 0
mov dword [esp + 0x98], 0
lea edi, [esp + 0xac]
lea esi, [esp + 0x88]
call fcn.0045fbfe
nop
lea edi, [esp]
lea esi, [esp + 0x88]
call fcn.0045fbfe
mov byte [esp + 0x14], 1
call fcn.00486c90
mov eax, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x44], edx
lea edi, [esp]
lea esi, [esp + 0xac]
call fcn.0045fbfe
call fcn.00484e90
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x34], edx
lea edi, [esp]
lea esi, [esp + 0xac]
call fcn.0045fbfe
call fcn.00484870
mov eax, dword [esp + 0x14]
add eax, 0x15180
mov ecx, dword [esp + 0x18]
adc ecx, 0
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x93a80
call fcn.00456450
mov eax, dword [esp + 0x10]
mov ecx, eax
mov eax, 0xc22e4507
imul ecx
lea eax, [ecx + edx]
sar eax, 0x10
sar ecx, 0x1f
sub eax, ecx
lea ecx, [eax + eax*2]
cmp ecx, 0x15
ja 0x6c3ca4
lea edx, [eax + eax*2 - 0x15]
neg edx
mov ebx, edx
neg edx
sar edx, 0x1f
and ecx, edx
mov edx, dword [esp + 0x3c]
lea eax, [edx + edx*2 - 3]
cmp eax, 0x24
ja 0x6c3c9a
lea edx, [edx + edx*2 - 0x24]
neg edx
add edx, 3
mov ebp, edx
neg edx
sar edx, 0x1f
and eax, edx
mov dword [esp + 0x78], eax
mov eax, 0xcccccccd
mov esi, dword [esp + 0x44]
imul esi
add edx, esi
sar edx, 3
mov eax, esi
sar esi, 0x1f
sub edx, esi
mov dword [esp + 0x74], edx
lea esi, [edx + edx*4]
shl esi, 1
sub eax, esi
mov dword [esp + 0x70], eax
mov eax, 0x4189374c
mov esi, dword [esp + 0x30]
imul esi
sar edx, 8
sar esi, 0x1f
sub edx, esi
mov dword [esp + 0x6c], edx
mov eax, 0x51eb851f
mov edx, dword [esp + 0x30]
imul edx
sar edx, 5
sub edx, esi
mov dword [esp + 0x68], edx
mov eax, 0xcccccccd
imul edx
mov edi, dword [esp + 0x68]
add edx, edi
sar edx, 3
sar edi, 0x1f
sub edx, edi
lea edx, [edx + edx*4]
shl edx, 1
mov edi, dword [esp + 0x68]
sub edi, edx
mov dword [esp + 0x68], edi
mov eax, 0xcccccccd
mov edi, dword [esp + 0x30]
imul edi
add edx, edi
sar edx, 3
sub edx, esi
mov eax, 0xcccccccd
mov esi, edx
imul edx
add edx, esi
sar edx, 3
mov eax, esi
sar esi, 0x1f
sub edx, esi
lea edx, [edx + edx*4]
shl edx, 1
mov esi, eax
sub eax, edx
mov dword [esp + 0x64], eax
lea edx, [esi + esi*4]
shl edx, 1
sub edi, edx
mov eax, 0xcccccccd
mov esi, dword [esp + 0x40]
imul esi
add edx, esi
sar edx, 3
mov eax, esi
sar esi, 0x1f
sub edx, esi
mov dword [esp + 0x60], edx
lea esi, [edx + edx*4]
shl esi, 1
sub eax, esi
mov dword [esp + 0x5c], eax
mov eax, 0xcccccccd
mov esi, dword [esp + 0x38]
imul esi
add edx, esi
sar edx, 3
mov eax, esi
sar esi, 0x1f
sub edx, esi
mov dword [esp + 0x58], edx
lea esi, [edx + edx*4]
shl esi, 1
sub eax, esi
mov dword [esp + 0x54], eax
mov eax, 0xcccccccd
mov esi, dword [esp + 0x34]
imul esi
add edx, esi
sar edx, 3
mov eax, esi
sar esi, 0x1f
sub edx, esi
lea esi, [edx + edx*4]
shl esi, 1
sub eax, esi
test ebx, ebx
jbe 0x6c3c91
mov dword [esp + 0x50], edx
lea esi, [0x76ef52]
movzx edx, byte [esi + ecx]
cmp ebx, 1
jbe 0x6c3c85
mov dword [esp + 0x4c], edi
movzx edi, byte [esi + ecx + 1]
cmp ebx, 2
jbe 0x6c3c79
movzx ebx, byte [esi + ecx + 2]
test ebp, ebp
jbe 0x6c3c70
xchg edi, eax
mov byte [esp + 0x2f], al
xchg edi, eax
mov esi, dword [esp + 0x78]
mov ecx, ebx
lea ebx, [0x7778f2]
movzx edi, byte [ebx + esi]
cmp ebp, 1
jbe 0x6c3c64
xchg edi, eax
mov byte [esp + 0x2e], al
xchg edi, eax
movzx edi, byte [ebx + esi + 1]
cmp ebp, 2
jbe 0x6c3c58
mov dword [esp + 0x78], eax
mov ebp, dword [esp + 0xa4]
lea eax, [ebp + 0x1d]
movzx ebx, byte [ebx + esi + 2]
mov esi, dword [esp + 0xa8]
cmp esi, eax
jb 0x6c3be9
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x84]
mov byte [esi + ebp], dl
movzx edx, byte [esp + 0x2f]
mov byte [esi + ebp + 1], dl
mov byte [esi + ebp + 2], cl
mov word [esi + ebp + 3], 0x202c
mov ecx, dword [esp + 0x74]
add ecx, 0x30
mov byte [esi + ebp + 5], cl
mov ecx, dword [esp + 0x70]
add ecx, 0x30
mov byte [esi + ebp + 6], cl
mov byte [esi + ebp + 7], 0x20
movzx ecx, byte [esp + 0x2e]
mov byte [esi + ebp + 8], cl
xchg edi, eax
mov byte [esi + ebp + 9], al
xchg edi, eax
mov byte [esi + ebp + 0xa], bl
mov byte [esi + ebp + 0xb], 0x20
mov ecx, dword [esp + 0x6c]
add ecx, 0x30
mov byte [esi + ebp + 0xc], cl
mov ecx, dword [esp + 0x68]
add ecx, 0x30
mov byte [esi + ebp + 0xd], cl
mov ecx, dword [esp + 0x64]
add ecx, 0x30
mov byte [esi + ebp + 0xe], cl
mov ecx, dword [esp + 0x4c]
add ecx, 0x30
mov byte [esi + ebp + 0xf], cl
mov byte [esi + ebp + 0x10], 0x20
mov ecx, dword [esp + 0x60]
add ecx, 0x30
mov byte [esi + ebp + 0x11], cl
mov ecx, dword [esp + 0x5c]
add ecx, 0x30
mov byte [esi + ebp + 0x12], cl
mov byte [esi + ebp + 0x13], 0x3a
mov ecx, dword [esp + 0x58]
add ecx, 0x30
mov byte [esi + ebp + 0x14], cl
mov ecx, dword [esp + 0x54]
add ecx, 0x30
mov byte [esi + ebp + 0x15], cl
mov byte [esi + ebp + 0x16], 0x3a
mov ecx, dword [esp + 0x50]
add ecx, 0x30
mov byte [esi + ebp + 0x17], cl
mov ecx, dword [esp + 0x78]
add ecx, 0x30
mov byte [esi + ebp + 0x18], cl
mov dword [esi + ebp + 0x19], 0x544d4720
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc8], eax
add esp, 0x9c
ret
mov byte [esp + 0x2d], dl
mov byte [esp + 0x2c], cl
xchg edi, eax
mov byte [esp + 0x2b], al
xchg edi, eax
mov byte [esp + 0x2a], bl
lea ecx, [0x718d60]
mov dword [esp], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
call fcn.00445ed0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
add ecx, 0x1d
movzx edx, byte [esp + 0x2d]
movzx ebx, byte [esp + 0x2a]
mov ebp, dword [esp + 0xa4]
movzx edi, byte [esp + 0x2b]
mov dword [esp + 0x84], eax
mov eax, ecx
movzx ecx, byte [esp + 0x2c]
jmp 0x6c3aef
mov eax, 2
mov ecx, ebp
call fcn.0045f4f0
mov eax, 1
mov ecx, ebp
call fcn.0045f4f0
xor eax, eax
mov ecx, ebp
call fcn.0045f4f0
mov eax, 2
mov ecx, ebx
call fcn.0045f4f0
mov eax, 1
mov ecx, ebx
call fcn.0045f4f0
xor eax, eax
mov ecx, ebx
call fcn.0045f4f0
mov ecx, 0x24
call fcn.0045f550
mov eax, ecx
mov ecx, 0x15
call fcn.0045f550
nop
call fcn.0045df10
jmp fcn.006c3780