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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x300
mov eax, dword [0x60b3c4]
xor eax, esp
mov dword [esp + 0x2fc], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x28], eax
mov esi, dword [edi]
mov dword [esp + 0x10], esi
mov eax, dword [esi + 0x34]
sub eax, dword [edi + 0x64]
sar eax, 3
mov dword [esp + 0x18], eax
lea eax, [esp + 0x38]
push eax
push edi
call fcn.004c2640
mov al, byte [esp + 0x64]
add esp, 8
cmp dword [edi + 0x24], 0x28
mov byte [esp + 0x34], al
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x35], 0
mov dword [esp + 0xc], 0
mov eax, dword [eax + 0x60]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x68], eax
mov eax, dword [edi]
mov dword [esp + 0x14], eax
jne 0x4c3a84
push edi
call fcn.004ad690
add esp, 4
cmp dword [ebp + 0x10], 0
je 0x4c38ae
mov eax, dword [edi + 4]
push 4
push str.self
push eax
mov dword [esp + 0x18], eax
call fcn.004a56c0
mov ecx, dword [edi]
push eax
mov dword [esp + 0x34], eax
push dword [ecx]
push dword [esp + 0x20]
call fcn.004a6b30
add esp, 0x18
cmp dword [eax + 4], 0xffffffff
jne 0x4c3883
mov dword [eax + 4], 0xfffffffd
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 8]
cmp eax, dword [edx + 0xc]
jb 0x4c3897
call fcn.004a2a50
push dword [esp + 0x24]
push 0
push edi
call fcn.004c54e0
add esp, 0xc
mov dword [esp + 0xc], 1
cmp dword [edi + 0x24], 0x29
je 0x4c3952
nop dword [eax + eax]
mov eax, dword [edi + 0x24]
cmp eax, 0x11f
je 0x4c38d1
cmp eax, 0x10a
jne 0x4c3903
mov esi, dword [edi + 8]
push edi
call fcn.004ad690
mov ecx, dword [esp + 0x10]
push esi
push ecx
push edi
call fcn.004c54e0
mov eax, dword [esp + 0x1c]
add esp, 0x10
inc eax
cmp dword [edi + 0x24], 0x2c
mov dword [esp + 0xc], eax
jne 0x4c3923
push edi
call fcn.004ad690
add esp, 4
jmp 0x4c38c0
cmp eax, 0x118
jne 0x4c3a99
push edi
call fcn.004ad690
mov eax, dword [esp + 0x18]
add esp, 4
or byte [eax + 0x40], 2
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
push eax
push edi
call fcn.004c5330
mov edx, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [esp + 0xc]
add ecx, dword [edx + 0x20]
movzx eax, byte [edx + 0x42]
cmp ecx, eax
jbe 0x4c395b
cmp ecx, 0xfa
jae 0x4c3a8c
jmp 0x4c3958
mov eax, dword [esp + 0xc]
jmp 0x4c3927
mov byte [edx + 0x42], cl
mov dword [edx + 0x20], ecx
cmp dword [edi + 0x24], 0x29
jne 0x4c3aa4
push edi
call fcn.004ad690
mov eax, dword [esp + 0x10]
mov byte [esp + 0x7d], al
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x34]
push 0x59
lea eax, [eax + ecx*8]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 0x38]
sub eax, dword [esi + 0x14]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x40]
push eax
call fcn.004beb60
push edi
call fcn.004c3b10
mov eax, dword [edi + 0x44]
add esp, 0x10
cmp dword [edi + 0x24], 0x106
je 0x4c39c2
push 0x106
push edi
cmp dword [ebp + 0x14], eax
jne 0x4c3ab1
jmp 0x4c3aac
push eax
push edi
mov dword [edi + 0x48], eax
call fcn.004c2160
mov ecx, dword [edi + 0x64]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
push dword [esi]
lea ecx, [ecx + edx*8]
mov dword [esp + 0x2c], 0xfffffff8
push dword [esi + 8]
mov dword [esi + 0x34], ecx
mov ecx, dword [edi + 0x68]
sub ecx, edx
mov dword [esi + 0x38], ecx
call fcn.004a6990
mov ecx, eax
add esp, 0x14
cmp dword [ecx + 4], 0
jne 0x4c3a0b
mov ecx, dword [ecx]
jmp 0x4c3a20
mov eax, dword [esi + 0x2c]
mov dword [ecx], eax
mov dword [ecx + 4], 0
mov ecx, dword [esi + 0x2c]
lea eax, [ecx + 1]
mov dword [esi + 0x2c], eax
shl ecx, 0x10
or ecx, 0x33
push ecx
push esi
call fcn.004beb60
mov ecx, dword [esp + 0x30]
add esp, 8
mov dword [ecx], eax
movzx eax, byte [esp + 0x78]
and al, 4
mov dword [ecx + 8], 0xb
mov dword [ecx + 0xc], 0xffffffff
mov dword [ecx + 0x10], 0xffffffff
or byte [esi + 0x40], al
mov al, byte [esi + 0x40]
test al, 1
jne 0x4c3a67
test al, 0x20
je 0x4c3a62
or al, 0x40
or al, 1
mov byte [esi + 0x40], al
push edi
call fcn.004ad690
mov ecx, dword [esp + 0x308]
add esp, 4
pop edi
pop esi
xor ecx, esp
call fcn.0050fd4b
mov esp, ebp
pop ebp
ret
push 0x28
push edi
call fcn.004bfa10
push 0x9a2
push dword [edx + 4]
call fcn.004bf9f0
push 0xa82
push edi
call fcn.004bf9f0
push 0x29
push edi
call fcn.004bfa10
call fcn.004bfa10
call fcn.004ad870
push 0x109
push edi
mov esi, eax
call fcn.004ad870
add esp, 0x10
push dword [ebp + 0x14]
push eax
push esi
push 0xa36
push dword [edi + 0x24]
push edi
call fcn.004ad5a0
int3