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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6d59e6
sub esp, 0x80
lea eax, [0x84d280]
mov dword [esp], eax
call fcn.00409d90
mov eax, dword [esp + 4]
mov dword [esp + 0x44], eax
mov dword [esp], 0
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 8], edx
call fcn.0043c0a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
lea edi, [esp + 0x68]
lea esi, [0x9211c8]
call fcn.0044ce52
lea edi, [esp + 0x5c]
lea esi, [esp + 0x68]
call fcn.0044ce52
lea ecx, [esp + 0x18]
mov dword [esp + 0x4c], ecx
mov ebx, dword [esp + 0x2c]
xor ebp, ebp
mov esi, 1
jmp 0x6d56cd
dec eax
cmp eax, ecx
jl 0x6d57ce
cmp eax, edx
jae 0x6d59d1
movzx esi, byte [ebp + eax]
xchg esi, eax
cmp al, 0x3c
xchg esi, eax
jne 0x6d5640
test eax, eax
jl 0x6d59ca
cmp ecx, eax
ja 0x6d59ca
mov esi, dword [esp + 0x30]
cmp eax, esi
ja 0x6d59ca
mov edx, dword [esp + 0x44]
mov dword [esp], edx
mov ebx, dword [esp + 0x48]
mov dword [esp + 4], ebx
sub eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], eax
call fcn.004ca6a0
movzx eax, byte [esp + 0x2b]
lea edi, [esp + 0x5c]
lea esi, [esp + 0x50]
call fcn.0044ce52
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
mov edx, ebx
mov ebx, ebp
mov ebp, ecx
mov esi, eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
xchg esi, eax
mov byte [esp + 0x2b], al
xchg esi, eax
cmp ebp, ebx
je 0x6d59a7
mov dword [esp + 0x38], ebp
mov edi, ecx
movzx ecx, byte [esp + 0x5d]
test cl, cl
jne 0x6d5811
movzx ecx, byte [esp + 0x5c]
movzx eax, byte [esp + 0x61]
test al, al
je 0x6d580a
lea eax, [ecx - 1]
cmp al, 3
ja 0x6d57f2
cmp ebp, ebx
ja 0x6d59df
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
movzx eax, cl
sub ebx, ebp
sub edx, ebp
mov dword [esp + 0x3c], edx
neg edx
sar edx, 0x1f
and edx, ebp
mov ecx, dword [esp + 0x40]
add ecx, edx
cmp eax, 0x19
jae 0x6d59d8
mov dword [esp + 0x48], ecx
lea ebp, [0xc581a0]
mov edx, dword [ebp + eax*4]
mov edi, esp
lea esi, [esp + 0x5c]
call fcn.0044ce52
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
mov ebx, dword [edx]
call ebx
lea edi, [esp + 0x74]
mov esi, dword [esp + 0x4c]
call fcn.0044ce52
mov eax, dword [esp + 0x24]
lea edi, [esp + 0x50]
lea esi, [esp + 0x74]
call fcn.0044ce52
mov ecx, dword [esp + 0x38]
lea ebx, [eax + ecx]
mov dword [esp + 0x34], ebx
movzx ebp, byte [esp + 0x5c]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x6d57e4
movzx edx, byte [esp + 0x50]
xchg ebp, eax
cmp dl, al
xchg ebp, eax
je 0x6d57d5
lea eax, [eax + ecx - 1]
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x40]
jmp 0x6d5641
mov eax, ebx
jmp 0x6d565d
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x40]
mov eax, ebx
jmp 0x6d565d
xchg ebp, eax
cmp al, 6
xchg ebp, eax
je 0x6d57b2
xor eax, eax
jmp 0x6d56a0
cmp cl, 7
jne 0x6d57fe
cmp ebp, ebx
jmp 0x6d570e
cmp ebp, ebx
mov ecx, 6
jmp 0x6d570e
cmp ebp, ebx
jmp 0x6d570e
cmp ebp, ebx
ja 0x6d59c3
sub ebx, ebp
sub edx, ebp
mov dword [esp + 0x3c], edx
neg edx
sar edx, 0x1f
and edx, ebp
add edx, eax
movzx ecx, cl
cmp ecx, 4
jae 0x6d59bc
lea eax, [0xc57740]
lea ecx, [eax + ecx*8]
mov ebp, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov dword [esp], edx
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], ecx
call fcn.004cb930
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
lea edx, [ecx + eax]
cmp edx, ecx
jl 0x6d58b3
movzx ebx, byte [esp + 0x5d]
cmp bl, 3
je 0x6d58af
lea eax, [eax + ecx + 1]
movzx ebx, byte [esp + 0x61]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov byte [esp + 0x5c], 1
mov byte [esp + 0x61], bl
mov ecx, eax
movzx eax, byte [esp + 0x2b]
jmp 0x6d56b1
mov eax, edx
jmp 0x6d587d
movzx eax, byte [esp + 0x2b]
test al, al
jne 0x6d5984
movzx eax, byte [esp + 0x5c]
test al, al
jne 0x6d5974
mov eax, dword [esp + 0x2c]
cmp ecx, eax
ja 0x6d59b5
mov edx, dword [esp + 0x44]
mov dword [esp], edx
mov ebx, dword [esp + 0x30]
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov esi, dword [esp + 0x40]
add ebx, esi
mov dword [esp + 4], ebx
sub eax, ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
call fcn.004ca6a0
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6d5967
mov ecx, dword [eax]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
cmp edx, ebx
ja 0x6d59ae
mov dword [esp], 0
sub eax, edx
mov ebp, eax
neg eax
sar eax, 0x1f
and eax, edx
add eax, ecx
mov dword [esp + 4], eax
sub ebx, edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.0043bf50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
add esp, 0x80
ret
lea ecx, [0x897708]
mov eax, 5
jmp 0x6d5952
cmp al, 6
jne 0x6d5908
mov eax, dword [esp + 0x2c]
cmp ecx, eax
jmp 0x6d58d3
mov eax, dword [esp + 0x84]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x90], eax
add esp, 0x80
ret
mov ecx, ebp
jmp 0x6d58b3
call fcn.00426870
ud2
call fcn.00426870
ud2
call fcn.00426770
ud2
call fcn.00426870
ud2
call fcn.00426870
ud2
call fcn.00426770
ud2
call fcn.00426770
ud2
call fcn.00426870
ud2
call fcn.0044b100
jmp fcn.006d55a0