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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x74]
je 0x4c302e
mov edi, dword [esp + 0x78]
mov esi, dword [eax + 4]
lea edx, [edi + 8]
lea ebx, [esi + esi]
mov dword [edi], edx
mov edi, dword [eax]
mov esi, edi
add esi, ebx
je 0x4c2b74
test edi, edi
je 0x4c317c
add eax, 0x2c
mov dword [esp + 0x48], edx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x38], eax
add eax, 0x34
sub eax, edx
mov dword [esp + 0x4c], eax
mov esi, ebx
sar esi, 1
cmp esi, 7
ja 0x4c2fc3
mov eax, dword [esp + 0x38]
cmp esi, 1
mov eax, dword [eax]
je 0x4c2fff
test esi, esi
jne 0x4c2fe4
mov edi, dword [esp + 0x38]
xor ebp, ebp
mov dword [edi + 4], esi
mov word [eax + ebx], bp
mov eax, dword [esp + 0x40]
mov ebx, dword [eax - 0x10]
sub ebx, dword [eax - 0x14]
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov eax, ebx
sar eax, 2
imul eax, eax, 0xba2e8ba3
test eax, eax
je 0x4c301f
cmp eax, 0x5d1745d
ja 0x4c313a
mov dword [esp], ebx
call fcn.004ed900
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x44]
add ebx, esi
mov dword [eax + 0x18], esi
mov dword [eax + 0x1c], esi
mov dword [eax + 0x20], ebx
mov eax, dword [esp + 0x40]
mov edi, dword [eax - 0x10]
mov eax, dword [eax - 0x14]
cmp edi, eax
mov dword [esp + 0x34], edi
je 0x4c300a
lea edx, [esi + 8]
mov ecx, dword [eax + 4]
mov dword [esi], edx
mov edi, dword [eax]
lea ebx, [ecx + ecx]
mov ecx, edi
add ecx, ebx
je 0x4c2c4e
test edi, edi
je 0x4c3121
add eax, 0x2c
mov dword [esp + 0x30], edx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x20], eax
add eax, 0x34
sub eax, edx
mov dword [esp + 0x3c], eax
mov esi, ebx
sar esi, 1
cmp esi, 7
ja 0x4c2ee1
mov eax, dword [esp + 0x20]
cmp esi, 1
mov eax, dword [eax]
je 0x4c2f20
test esi, esi
jne 0x4c2f02
mov ecx, dword [esp + 0x20]
mov dword [ecx + 4], esi
xor esi, esi
mov word [eax + ebx], si
mov eax, dword [esp + 0x28]
mov ebx, dword [eax - 0x10]
sub ebx, dword [eax - 0x14]
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x20], 0
mov eax, ebx
sar eax, 2
imul eax, eax, 0xba2e8ba3
test eax, eax
je 0x4c2fb0
cmp eax, 0x5d1745d
ja 0x4c3080
mov dword [esp], ebx
call fcn.004ed900
mov edx, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
add ebx, eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
mov dword [edx + 0x20], ebx
mov edx, dword [esp + 0x28]
mov ecx, dword [edx - 0x10]
mov esi, dword [edx - 0x14]
cmp ecx, esi
mov dword [esp + 0x1c], ecx
je 0x4c2f30
mov ecx, eax
lea eax, [eax + 8]
mov edi, dword [esi + 4]
mov dword [ecx], eax
mov edx, dword [esi]
add edi, edi
mov ecx, edx
mov dword [esp + 0x18], edx
add ecx, edi
je 0x4c2d29
test edx, edx
je 0x4c30ea
mov ecx, dword [esp + 0x2c]
mov edx, eax
mov dword [esp + 0x14], eax
add esi, 0x2c
lea eax, [ecx + 0x34]
mov ebx, ecx
sub eax, edx
mov dword [esp + 0x24], eax
mov ebp, edi
sar ebp, 1
cmp ebp, 7
ja 0x4c2e21
cmp ebp, 1
mov eax, dword [ebx]
je 0x4c2e60
test ebp, ebp
jne 0x4c2e3e
xor edx, edx
mov dword [ebx + 4], ebp
mov word [eax + edi], dx
mov edi, dword [esi - 0x10]
sub edi, dword [esi - 0x14]
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0
mov eax, edi
sar eax, 2
imul eax, eax, 0xba2e8ba3
test eax, eax
je 0x4c2da7
cmp eax, 0x5d1745d
ja 0x4c303e
mov dword [esp], edi
call fcn.004ed900
add edi, eax
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], edi
mov ecx, dword [esi - 0x10]
mov edx, dword [esi - 0x14]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.004c2b40
mov dword [ebx + 0x1c], eax
movzx eax, byte [esi - 8]
add ebx, 0x2c
mov byte [ebx - 8], al
mov eax, dword [esi - 4]
mov dword [ebx - 4], eax
cmp dword [esp + 0x1c], esi
je 0x4c2e70
mov edx, dword [esp + 0x24]
add dword [esp + 0x14], edx
add esi, 0x2c
mov eax, dword [esp + 0x14]
mov ecx, dword [esi - 0x28]
mov dword [ebx], eax
lea edi, [ecx + ecx]
mov eax, dword [esi - 0x2c]
mov ecx, eax
mov dword [esp + 0x18], eax
add ecx, edi
je 0x4c2d41
test eax, eax
jne 0x4c2d41
mov dword [esp], 0x4fd9dc
call fcn.004e7b80
cmp ebp, 0x3fffffff
ja 0x4c30c0
lea eax, [ebp + ebp + 2]
mov dword [esp], eax
call fcn.004ed900
mov dword [ebx], eax
mov dword [ebx + 8], ebp
mov edx, dword [esp + 0x18]
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebx]
jmp 0x4c2d61
mov edx, dword [esp + 0x18]
movzx edx, word [edx]
mov word [eax], dx
jmp 0x4c2d61
mov ecx, dword [esp + 0x28]
movzx eax, byte [ecx - 8]
mov edx, dword [esp + 0x20]
mov dword [edx + 0x1c], ebx
add edx, 0x2c
mov byte [edx - 8], al
mov eax, dword [ecx - 4]
mov dword [edx - 4], eax
cmp dword [esp + 0x34], ecx
mov dword [esp + 0x20], edx
je 0x4c2f40
mov esi, dword [esp + 0x3c]
add dword [esp + 0x30], esi
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x20]
mov dword [esi], eax
mov eax, dword [esp + 0x28]
mov esi, dword [eax + 4]
mov edi, dword [eax]
add eax, 0x2c
mov dword [esp + 0x28], eax
lea ebx, [esi + esi]
mov eax, edi
mov dword [esp + 0x14], esi
add eax, ebx
je 0x4c2c6a
test edi, edi
je 0x4c3129
mov esi, ebx
sar esi, 1
cmp esi, 7
jbe 0x4c2c77
cmp esi, 0x3fffffff
ja 0x4c3106
lea eax, [esi + esi + 2]
mov dword [esp], eax
call fcn.004ed900
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
mov dword [ecx + 8], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
jmp 0x4c2c8e
movzx edx, word [edi]
mov word [eax], dx
jmp 0x4c2c8e
mov ebx, eax
mov ecx, edx
jmp 0x4c2e74
mov eax, edx
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
mov dword [edi + 0x1c], eax
movzx eax, byte [esi - 8]
add edi, 0x2c
mov byte [edi - 8], al
mov eax, dword [esi - 4]
mov dword [edi - 4], eax
cmp dword [esp + 0x74], esi
mov dword [esp + 0x38], edi
je 0x4c3015
mov edx, dword [esp + 0x4c]
add dword [esp + 0x48], edx
mov eax, dword [esp + 0x48]
mov dword [edi], eax
mov eax, dword [esp + 0x40]
mov esi, dword [eax + 4]
mov edi, dword [eax]
add eax, 0x2c
mov dword [esp + 0x40], eax
lea ebx, [esi + esi]
mov eax, edi
mov dword [esp + 0x14], esi
add eax, ebx
je 0x4c2b90
test edi, edi
jne 0x4c2b90
mov dword [esp], 0x4fd9dc
call fcn.004e7b80
nop
mov dword [esp + 0x2c], 0
mov edx, ecx
mov eax, dword [esp + 0x2c]
jmp 0x4c2ce8
cmp esi, 0x3fffffff
ja 0x4c30f8
lea eax, [esi + esi + 2]
mov dword [esp], eax
call fcn.004ed900
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
mov dword [ecx + 8], esi
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
jmp 0x4c2bb4
movzx edx, word [edi]
mov word [eax], dx
jmp 0x4c2bb4
mov eax, esi
mov dword [esp + 0x20], esi
jmp 0x4c2f42
add esp, 0x5c
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x44], 0
mov eax, edi
jmp 0x4c2c0e
mov eax, dword [esp + 0x78]
mov dword [esp + 0x38], eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
call fcn.004e77b0
mov esi, eax
mov eax, dword [ebx]
cmp eax, dword [esp + 0x14]
je 0x4c3055
mov dword [esp], eax
call fcn.004ed8c0
mov eax, esi
mov dword [esp], eax
call fcn.004edae0
mov esi, dword [esp + 0x2c]
cmp esi, ebx
je 0x4c3135
mov ecx, esi
add esi, 0x2c
call fcn.004a5110
jmp 0x4c3063
call fcn.004e77b0
mov ebx, eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
cmp eax, dword [esp + 0x30]
je 0x4c309b
mov dword [esp], eax
call fcn.004ed8c0
mov eax, ebx
mov dword [esp], eax
call fcn.004edae0
mov ebx, dword [esp + 0x44]
cmp ebx, dword [esp + 0x20]
je 0x4c31a6
mov ecx, ebx
add ebx, 0x2c
call fcn.004a5110
jmp 0x4c30a9
mov dword [esp], 0x4fd98c
call fcn.004e7d10
mov dword [esp], eax
call fcn.004edae0
mov ebx, dword [esp + 0x78]
cmp ebx, dword [esp + 0x38]
je 0x4c30f3
mov ecx, ebx
add ebx, 0x2c
call fcn.004a5110
jmp 0x4c30d8
mov ebx, dword [esp + 0x2c]
jmp 0x4c2e15
call fcn.004ee150
mov dword [esp], 0x4fd98c
call fcn.004e7d10
jmp 0x4c309d
mov dword [esp], 0x4fd98c
call fcn.004e7d10
mov ebx, eax
call fcn.004edcd0
mov dword [esp], ebx
call fcn.0043f8d0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x20], eax
mov dword [esp], 0x4fd9dc
call fcn.004e7b80
call fcn.004ee150
call fcn.004e77b0
mov ebx, eax
call fcn.004edcd0
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c3087
mov dword [esp], eax
call fcn.004ed8c0
jmp 0x4c3087
mov eax, dword [esp + 0x78]
mov dword [esp + 0x38], eax
jmp 0x4c2fa2
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
cmp dword [esp + 0x48], eax
je 0x4c319f
mov dword [esp], eax
call fcn.004ed8c0
mov eax, ebx
jmp 0x4c30cc
call fcn.004ee150
mov ebx, eax
call fcn.004edcd0
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c318b
mov dword [esp], eax
call fcn.004ed8c0
jmp 0x4c318b