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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov edi, edx
lea esi, [esp + 0x48]
mov dword [esp + 0x20], ecx
mov ecx, esi
push 1
push 0x7f36ba
push dword [ebp + 8]
call fcn.004aad00
add esp, 0xc
cmp dword [esi], 0
je 0x4c9ac1
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], edi
mov ecx, esi
mov dword [esp + 4], edx
mov dword [esp + 0xc], eax
sub ecx, edx
cmp ecx, eax
jae 0x4c9ac8
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x50]
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x1c], edx
cmp edx, eax
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x60]
cmova eax, edx
mov dword [esp + 0x28], eax
sub eax, edx
mov dword [esp + 0x38], eax
mov eax, edx
neg eax
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x14], ebx
xor ebx, ebx
mov dword [esp + 0x44], eax
add eax, edx
inc ebx
mov dword [esp + 0x30], eax
mov edx, ecx
mov cl, byte [edi + ecx]
xor eax, eax
mov dword [esp + 0x24], esi
mov esi, ebx
shld eax, ebx, cl
shl esi, cl
test cl, 0x20
mov ecx, 0
cmovne eax, esi
cmovne esi, ecx
and eax, dword [esp + 0x3c]
and esi, dword [esp + 0x40]
or esi, eax
je 0x4c9a23
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov dword [esp + 8], edx
cmp eax, esi
cmovb esi, eax
cmp dword [esp + 0x10], 0xffffffff
cmove esi, eax
lea eax, [esi - 1]
sub esi, 1
jb 0x4c9a49
cmp eax, dword [esp + 4]
jae 0x4c9c41
mov ecx, dword [esp + 8]
add ecx, esi
cmp ecx, dword [esp + 0xc]
jae 0x4c9c4e
mov edx, dword [esp + 0x44]
mov dl, byte [edx + esi]
cmp dl, byte [edi + ecx]
je 0x4c99e7
add esi, dword [esp + 0x24]
mov eax, dword [esp + 4]
sub esi, dword [esp + 0x1c]
jmp 0x4c9aa4
cmp dword [esp + 0x10], 0xffffffff
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x14]
mov esi, edx
cmovne ecx, eax
mov dword [esp + 0x14], ecx
mov ecx, edx
sub ecx, eax
cmp ecx, dword [esp + 0xc]
jb 0x4c999f
jmp 0x4c9ac8
cmp dword [esp + 0x10], 0xffffffff
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x38]
cmove esi, dword [esp + 4]
cmp esi, ecx
cmovbe esi, ecx
add ecx, eax
mov eax, dword [esp + 0x30]
add esi, dword [esp + 0x34]
sub esi, 1
jb 0x4c9acf
sub ebx, 1
jb 0x4c9c59
cmp ecx, dword [esp + 0xc]
jae 0x4c9c68
mov dl, byte [eax]
inc eax
cmp dl, byte [edi + ecx]
lea ecx, [ecx + 1]
je 0x4c9a72
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov ebx, 1
sub esi, eax
cmp dword [esp + 0x10], 0xffffffff
je 0x4c9aaf
mov dword [esp + 0x14], eax
mov ecx, esi
sub ecx, dword [esp + 4]
cmp ecx, dword [esp + 0xc]
jb 0x4c999f
jmp 0x4c9ac8
cmp byte [esp + 0x56], 0
je 0x4c9b06
xor ecx, ecx
jmp 0x4c9c15
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 8]
mov edx, dword [ebp + 8]
inc eax
jne 0x4c9ae4
mov esi, edx
jmp 0x4c9bf4
mov esi, edx
sub esi, eax
jbe 0x4c9bee
cmp byte [edi + eax], 0xbf
jg 0x4c9bf4
mov ecx, edi
push 0x750b64
push edx
push eax
jmp 0x4c9c85
mov cl, byte [esp + 0x55]
mov eax, dword [esp + 0x50]
test cl, cl
sete dl
test eax, eax
mov dword [esp + 8], edx
je 0x4c9c23
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], edx
cmp eax, edx
jae 0x4c9b3e
cmp byte [esi + eax], 0xbf
jg 0x4c9b44
jmp 0x4c9c7b
jne 0x4c9c7b
mov bl, byte [esi + eax - 1]
test bl, bl
js 0x4c9b51
movzx ebx, bl
jmp 0x4c9b9a
movzx ecx, byte [esi + eax - 2]
cmp cl, 0xc0
jge 0x4c9b7b
movzx edx, byte [esi + eax - 3]
cmp dl, 0xc0
jge 0x4c9b80
movzx edi, byte [esi + eax - 4]
and edx, 0x3f
and edi, 7
shl edi, 6
or edx, edi
mov edi, dword [esp + 0x18]
jmp 0x4c9b83
and ecx, 0x1f
jmp 0x4c9b8f
and edx, 0xf
shl edx, 6
and ecx, 0x3f
or ecx, edx
mov edx, dword [esp + 0xc]
and bl, 0x3f
shl ecx, 6
movzx ebx, bl
or ebx, ecx
test byte [esp + 8], 1
je 0x4c9c38
cmp ebx, 0x110000
je 0x4c9ac8
cmp ebx, 0x80
mov ecx, 0xffffffff
jb 0x4c9bd9
mov ecx, 0xfffffffe
cmp ebx, 0x800
jb 0x4c9bd9
xor ecx, ecx
cmp ebx, 0x10000
setb cl
or ecx, 0xfffffffc
add eax, ecx
mov dword [esp + 8], 0
jne 0x4c9b2f
jmp 0x4c9ad3
jne 0x4c9af8
add edi, eax
mov edx, esi
mov ecx, edi
call fcn.004ac170
xor ecx, ecx
test al, 1
jne 0x4c9c15
mov ecx, dword [esp + 0x20]
shr eax, 0x10
mov dword [ecx + 4], esi
mov word [ecx + 8], ax
mov ecx, edi
mov eax, dword [esp + 0x20]
mov dword [eax], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test cl, cl
mov dword [esp + 8], 0
jne 0x4c9ad3
jmp 0x4c9ac8
mov dword [esp + 8], eax
jmp 0x4c9ad3
mov edx, dword [esp + 4]
mov ecx, esi
push 0x7bdbf0
jmp 0x4c9c71
mov edx, dword [esp + 0xc]
push 0x7bdc00
jmp 0x4c9c71
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 4]
push 0x7bdbd0
jmp 0x4c9c71
mov edx, dword [esp + 0xc]
push 0x7bdbe0
call fcn.006521f0
add esp, 4
ud2
mov ecx, esi
push 0x7bdc30
push eax
push 0
call fcn.00652800
add esp, 0xc
ud2