Function at 0x6d51467b
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x4c
push ebx
push ebp
mov ebp, dword [0x6d58086c]
mov eax, dword fs:[0x30]
push esi
push edi
mov edi, dword [eax + 0xc]
add edi, 0xc
xor ebx, ebx
mov esi, dword [edi]
jmp 0x6d5146ad
push dword [esi + 0x30]
call fcn.6d51464f
pop ecx
cmp ebp, eax
je 0x6d514c8a
mov esi, dword [esi]
cmp esi, edi
jne 0x6d51469a
mov esi, ebx
mov dword [esp + 0x10], ebx
push dword [0x6d58087c]
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [esp + 0x14], eax
mov ebp, ebx
mov eax, dword [0x6d580878]
mov dword [esp + 0x30], eax
mov eax, dword [0x6d580848]
mov edx, dword [0x6d580884]
mov ecx, dword [esi + 0x3c]
add ecx, esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], ebp
mov ecx, dword [ecx + edx*8 + 0x78]
add ecx, esi
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x20]
add eax, esi
mov dword [esp + 0x44], eax
add edx, esi
mov eax, dword [ecx + 0x24]
add eax, esi
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x38], eax
test eax, eax
je 0x6d514771
mov eax, dword [edx + ebp*4]
mov edi, ebx
add eax, esi
push eax
mov dword [esp + 0x2c], eax
call fcn.6d51461e
mov dword [esp + 0x30], eax
pop ecx
test eax, eax
je 0x6d514758
mov edx, dword [esp + 0x28]
mov esi, ebx
mov ebp, eax
imul edi, dword [esp + 0x30]
movzx eax, byte [esi + edx]
add edi, eax
inc esi
cmp esi, ebp
jb 0x6d514740
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
cmp edi, dword [esp + 0x34]
je 0x6d514c96
mov edx, dword [esp + 0x3c]
inc ebp
mov dword [esp + 0x1c], ebp
cmp ebp, dword [esp + 0x38]
jb 0x6d51471e
mov eax, ebx
mov ebp, dword [esp + 0x14]
push 0x104
push ebp
push ebx
call eax
mov edi, dword [str.kstqhys]
mov edx, eax
mov ecx, dword [0x6d580840]
cmp word [ebp + edx*2 - 2], cx
je 0x6d5147a9
xor eax, eax
mov word [ebp + edx*2], ax
dec edx
mov eax, dword [0x6d580840]
cmp word [ebp + edx*2 - 2], ax
jne 0x6d514795
cmp byte [edi], bl
je 0x6d5147c7
mov al, byte [edi]
lea ecx, [edx*2]
add ecx, ebp
inc edi
cbw
mov word [ecx], ax
lea ecx, [ecx + 2]
mov al, byte [edi]
test al, al
jne 0x6d5147b8
mov eax, dword [0x6d580878]
mov ebp, ebx
mov dword [esp + 0x38], eax
mov eax, dword [0x6d580860]
mov ecx, dword [0x6d580884]
mov dword [esp + 0x34], eax
mov eax, dword [esi + 0x3c]
add eax, esi
mov dword [esp + 0x1c], ebp
mov eax, dword [eax + ecx*8 + 0x78]
add eax, esi
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
add ecx, esi
mov dword [esp + 0x20], ecx
add edx, esi
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x18]
add ecx, esi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], eax
test eax, eax
je 0x6d514869
mov eax, dword [edx + ebp*4]
mov edi, ebx
add eax, esi
push eax
mov dword [esp + 0x48], eax
call fcn.6d51461e
mov dword [esp + 0x40], eax
pop ecx
test eax, eax
je 0x6d514850
mov edx, dword [esp + 0x44]
mov esi, ebx
mov ebp, eax
imul edi, dword [esp + 0x38]
movzx eax, byte [esi + edx]
add edi, eax
inc esi
cmp esi, ebp
jb 0x6d514838
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
cmp edi, dword [esp + 0x34]
je 0x6d514cac
mov edx, dword [esp + 0x2c]
inc ebp
mov dword [esp + 0x1c], ebp
cmp ebp, dword [esp + 0x30]
jb 0x6d514816
mov eax, ebx
mov ebp, dword [esp + 0x14]
push ebx
push dword [0x6d58083c]
push dword [0x6d580880]
push ebx
push 1
push dword [0x6d580870]
push ebp
call eax
mov dword [esp + 0x20], eax
mov edi, ebx
mov eax, dword [0x6d580878]
mov dword [esp + 0x34], eax
mov eax, dword [0x6d580868]
mov edx, dword [0x6d580884]
mov ecx, dword [esi + 0x3c]
add ecx, esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], edi
mov ecx, dword [ecx + edx*8 + 0x78]
add ecx, esi
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x20]
add eax, esi
mov dword [esp + 0x4c], eax
add edx, esi
mov eax, dword [ecx + 0x24]
add eax, esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x48], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x6d514932
mov eax, dword [edx + edi*4]
add eax, esi
push eax
mov dword [esp + 0x44], eax
call fcn.6d51461e
mov dword [esp + 0x3c], eax
mov edx, ebx
pop ecx
test eax, eax
je 0x6d514919
mov ebp, dword [esp + 0x40]
mov esi, edx
mov edi, eax
imul edx, dword [esp + 0x34]
movzx eax, byte [esi + ebp]
add edx, eax
inc esi
cmp esi, edi
jb 0x6d5148fd
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
cmp edx, dword [esp + 0x30]
je 0x6d514cc2
mov edx, dword [esp + 0x28]
inc edi
mov dword [esp + 0x1c], edi
cmp edi, dword [esp + 0x2c]
jb 0x6d5148db
mov eax, ebx
push ebx
push dword [esp + 0x24]
call eax
mov ecx, dword [0x6d580884]
mov edi, ebx
mov dword [esp + 0x1c], eax
mov eax, dword [0x6d580878]
mov dword [esp + 0x3c], eax
mov eax, dword [0x6d580864]
mov edx, dword [0x6d580884]
mov ecx, dword [esi + 0x3c]
mov dword [esp + 0x38], eax
lea ecx, [ecx + edx*8]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov eax, dword [ecx + 0x1c]
mov edx, dword [ecx + 0x20]
add eax, esi
mov dword [esp + 0x28], eax
add edx, esi
mov eax, dword [ecx + 0x24]
add eax, esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x34], eax
test eax, eax
je 0x6d5149e2
mov eax, dword [edx + edi*4]
add eax, esi
push eax
mov dword [esp + 0x4c], eax
call fcn.6d51461e
mov dword [esp + 0x44], eax
test eax, eax
pop ecx
mov eax, ebx
je 0x6d5149cd
mov edx, dword [esp + 0x48]
mov ebp, eax
mov esi, dword [esp + 0x40]
imul eax, dword [esp + 0x3c]
movzx ecx, byte [edx + ebp]
add eax, ecx
inc ebp
cmp ebp, esi
jb 0x6d5149b5
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
cmp eax, dword [esp + 0x38]
je 0x6d514cd8
mov edx, dword [esp + 0x30]
inc edi
cmp edi, dword [esp + 0x34]
jb 0x6d514991
mov eax, ebx
push ebx
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], ebx
push ecx
push dword [esp + 0x24]
push ebp
push dword [esp + 0x30]
call eax
test eax, eax
je 0x6d514c82
mov edi, dword [0x6d580834]
mov eax, dword [esp + 0x24]
add edi, ebp
add eax, ebp
mov dword [esp + 0x28], eax
mov ecx, dword [edi]
lea eax, [edi + 4]
mov edx, dword [eax]
add eax, 4
test ecx, ecx
je 0x6d514a2b
add dword [eax], edx
lea eax, [eax + 4]
sub ecx, 1
jne 0x6d514a21
mov eax, dword [0x6d580850]
mov ebp, ebx
mov ecx, dword [0x6d580878]
add edi, eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x20], ebx
lea eax, [edi + 1]
push eax
call fcn.6d51461e
mov edx, ebx
pop ecx
test eax, eax
je 0x6d514a6b
imul ebp, dword [esp + 0x4c]
movzx ecx, byte [edx + edi + 1]
add ebp, ecx
inc edx
cmp edx, eax
jb 0x6d514a56
mov dword [esp + 0x20], ebp
mov eax, dword [0x6d580878]
mov ebp, ebx
mov ecx, dword [0x6d580884]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x3c]
lea eax, [eax + ecx*8]
mov eax, dword [eax + esi + 0x78]
add eax, esi
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
add ecx, esi
mov dword [esp + 0x2c], ecx
add edx, esi
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x18]
add ecx, esi
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], eax
test eax, eax
je 0x6d514aff
mov eax, dword [edx + ebp*4]
add eax, esi
push eax
mov dword [esp + 0x4c], eax
call fcn.6d51461e
mov dword [esp + 0x44], eax
test eax, eax
pop ecx
mov eax, ebx
je 0x6d514aea
mov edx, dword [esp + 0x48]
mov esi, eax
mov edi, dword [esp + 0x40]
imul eax, dword [esp + 0x3c]
movzx ecx, byte [esi + edx]
add eax, ecx
inc esi
cmp esi, edi
jb 0x6d514ad2
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp eax, dword [esp + 0x20]
je 0x6d514cee
mov edx, dword [esp + 0x34]
inc ebp
cmp ebp, dword [esp + 0x38]
jb 0x6d514aae
mov dword [esp + 0x1c], ebx
movsx eax, byte [edi]
mov ebp, ebx
mov ecx, dword [0x6d580878]
add edi, eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x20], ebx
lea eax, [edi + 1]
push eax
call fcn.6d51461e
mov edx, ebx
pop ecx
test eax, eax
je 0x6d514b41
imul ebp, dword [esp + 0x4c]
movzx ecx, byte [edx + edi + 1]
add ebp, ecx
inc edx
cmp edx, eax
jb 0x6d514b2c
mov dword [esp + 0x20], ebp
mov eax, dword [0x6d580878]
mov ebp, ebx
mov ecx, dword [0x6d580884]
mov dword [esp + 0x3c], eax
mov eax, dword [esi + 0x3c]
lea eax, [eax + ecx*8]
mov eax, dword [eax + esi + 0x78]
add eax, esi
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
add ecx, esi
mov dword [esp + 0x2c], ecx
add edx, esi
mov ecx, dword [eax + 0x24]
mov eax, dword [eax + 0x18]
add ecx, esi
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x38], eax
test eax, eax
je 0x6d514bd5
mov eax, dword [edx + ebp*4]
add eax, esi
push eax
mov dword [esp + 0x4c], eax
call fcn.6d51461e
mov dword [esp + 0x44], eax
test eax, eax
pop ecx
mov eax, ebx
je 0x6d514bc0
mov edx, dword [esp + 0x48]
mov esi, eax
mov edi, dword [esp + 0x40]
imul eax, dword [esp + 0x3c]
movzx ecx, byte [esi + edx]
add eax, ecx
inc esi
cmp esi, edi
jb 0x6d514ba8
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp eax, dword [esp + 0x20]
je 0x6d514d08
mov edx, dword [esp + 0x34]
inc ebp
cmp ebp, dword [esp + 0x38]
jb 0x6d514b84
mov dword [esp + 0x14], ebx
movsx eax, byte [edi]
add edi, eax
lea eax, [edi + 1]
push eax
call dword [esp + 0x20]
mov esi, dword [0x6d580874]
mov edx, eax
movsx ecx, byte [edi]
add edi, ecx
add esi, edi
mov eax, dword [edx + 0x3c]
mov ebx, dword [edi + 8]
mov ebp, dword [edi + 4]
mov edi, dword [eax + edx + 0x2c]
lea eax, [esp + 0x18]
and dword [esp + 0x18], 0
add edi, edx
push eax
push dword [0x6d580854]
push ebx
push edi
call dword [esp + 0x24]
push ebx
push esi
push edi
call fcn.6d5145df
add esp, 0xc
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x1c]
push ebx
push edi
call dword [esp + 0x24]
mov eax, dword [str.cydyg]
lea edx, [edi + ebp]
xor ecx, ecx
cmp byte [eax], cl
je 0x6d514c60
mov edi, dword [esp + 0x28]
mov eax, dword [str.cydyg]
movsx ax, byte [eax + ecx]
mov word [edi + ecx*2], ax
inc ecx
mov eax, dword [str.cydyg]
cmp byte [eax + ecx], 0
jne 0x6d514c46
mov eax, dword [esp + 0x28]
xor edi, edi
mov word [eax + ecx*2], di
mov dword [esp + 0x54], eax
lea eax, [ebx + esi]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x50]
push eax
mov byte [esp + 0x5c], 1
call edx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov esi, dword [esi + 0x18]
mov dword [esp + 0x10], esi
jmp 0x6d5146b7
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
movzx eax, word [eax + ebp*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x6d514773
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
movzx eax, word [eax + ebp*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x6d51486b
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x6d514934
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, esi
jmp 0x6d5149e4
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
movzx eax, word [eax + ebp*2]
mov eax, dword [ecx + eax*4]
add eax, esi
mov dword [esp + 0x1c], eax
jmp 0x6d514b03
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
movzx eax, word [eax + ebp*2]
mov eax, dword [ecx + eax*4]
add eax, esi
mov dword [esp + 0x14], eax
jmp 0x6d514bd9