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

Disassembly:
sub esp, 0x4fc
mov eax, dword [esp + 0x500]
push ebx
push ebp
push esi
mov ebp, dword [eax + 0x14]
mov bx, word [eax + 0x18]
mov cx, word [eax + 0x14]
push edi
shr ebp, 0x10
cmp bx, 0xc8
mov dword [esp + 0x18], ebx
mov dword [esp + 0x28], ecx
jb 0x4e085d
cmp bx, 0xcf
ja 0x4e085d
and ebx, 0xffff
and ebp, 0xffff
sub ebx, 0xc8
and ecx, 0xffff
mov esi, 0xcf4774
push 1
lea eax, [ebx*8]
push 0xcf4774
sub eax, ebx
lea eax, [ebx + eax*4]
shl eax, 2
mov dword [eax + 0xcf2a18], ebp
mov dword [eax + 0xcf2a1c], ecx
mov ecx, dword [0xcf4760]
lea edi, [eax + 0xcf2a30]
mov dword [eax + 0xcf2a2c], ecx
mov ecx, 0x12
rep movsd dword es:[edi], dword [esi]
mov ecx, 0xced988
movsb byte es:[edi], byte [esi]
call fcn.0053f400
mov ecx, 0xced988
call fcn.0052cfe0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4fc
ret
cmp bx, 0x96
jae 0x4e0ac9
and ebp, 0xffff
mov ecx, 0xced988
push ebp
call fcn.0053bf30
test eax, eax
je 0x4e0ac9
xor edx, edx
mov ecx, 0x4c
mov dword [esp + 0xbe], edx
lea esi, [esp + 0x44]
mov dword [esp + 0xc2], edx
lea edi, [esp + 0x3dc]
mov dword [esp + 0xc6], edx
mov dword [esp + 0x3d8], ebp
mov byte [esp + 0xca], dl
lea eax, [esp + 0x3d8]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x34]
push eax
push ecx
mov ecx, 0xced988
mov dword [esp + 0x18], 0
call fcn.00474ae0
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x78]
test ecx, ecx
jle 0x4e0ac9
xor edx, edx
mov ecx, 0x4c
mov dword [esp + 0x1ee], edx
lea esi, [esp + 0x174]
mov dword [esp + 0x1f2], edx
lea edi, [esp + 0x2a8]
mov dword [esp + 0x1f6], edx
mov dword [esp + 0x2a4], ebp
mov byte [esp + 0x1fa], dl
lea eax, [esp + 0x2a4]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x3c]
push eax
push ecx
mov ecx, 0xced988
mov dword [esp + 0x1c], 0
call fcn.00474ae0
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x74]
test ecx, ecx
jle 0x4e0a58
mov ecx, ebx
mov eax, 0x66666667
and ecx, 0xffff
mov esi, dword [esp + 0x28]
imul ecx
sar edx, 2
mov eax, edx
and esi, 0xffff
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov edi, edx
mov ecx, 0xa
cdq
idiv ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x24], esi
add eax, edi
mov dword [esp + 0x30], edi
lea ecx, [eax + eax*4]
mov dword [esp + 0x2c], edx
lea eax, [edx + ecx*2]
mov ecx, eax
shl ecx, 4
add ecx, eax
lea ebx, [ecx*8 + 0xceda6c]
jmp 0x4e09bf
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov dword [ebx - 4], ebp
mov dword [ebx], esi
mov dword [ebx + 4], edi
lea edi, [ebx + 0x24]
mov ecx, 0x12
mov esi, 0xcf4774
mov dword [ebx + 8], edx
mov eax, dword [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
xor edx, edx
inc eax
mov dword [esp + 0x1ee], edx
mov ecx, 0x4c
mov dword [esp + 0x1f2], edx
mov dword [esp + 0x2a4], ebp
movsb byte es:[edi], byte [esi]
mov dword [esp + 0x1f6], edx
lea esi, [esp + 0x174]
lea edi, [esp + 0x2a8]
mov byte [esp + 0x1fa], dl
mov dword [esp + 0x14], eax
lea eax, [esp + 0x2a4]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x3c]
push eax
push ecx
mov ecx, 0xced988
add ebx, 0x88
call fcn.00474ae0
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x74]
cmp edx, ecx
jl 0x4e09b3
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov ecx, 0x4c
inc eax
lea esi, [esp + 0x44]
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xbe], eax
lea edi, [esp + 0x3dc]
mov dword [esp + 0xc2], eax
mov dword [esp + 0x3d8], ebp
mov dword [esp + 0xc6], eax
lea edx, [esp + 0x34]
mov byte [esp + 0xca], al
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x3d8]
push ecx
push edx
mov ecx, 0xced988
call fcn.00474ae0
mov ecx, eax
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0x78]
cmp ecx, edx
jl 0x4e08ed
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4fc
ret