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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa0
mov ebx, edx
mov esi, ecx
call fcn.004c3d6e
lea eax, [0xa6f260]
xor edi, edi
cmp byte [eax + 0x1d8], 2
cmovne edi, eax
jne 0x4c60a3
and dword [esi + 4], 0
and dword [esi], 0
and dword [esi + 0x10], 0
and dword [esi + 0x1c], 0
jmp 0x4c671e
mov dword [esp + 0x58], esi
mov eax, dword [0xa70cb8]
cmp eax, 2
je 0x4c60e3
mov ecx, 0xa70c98
lea esi, [esp + 0x70]
lea eax, [esp + 0x64]
lea edx, [esp + 0x28]
mov dword [esi], ecx
lea ecx, [esp + 0x60]
mov dword [edx], eax
mov dword [edx + 4], esi
mov dword [eax], edi
mov dword [edx + 8], ecx
lea ecx, [0xa70cb8]
push 0x9b7f9c
call fcn.0056dc90
pop eax
mov esi, dword [ebx]
mov dword [esp + 0x98], edi
push 0x12
pop eax
cmp byte [0xa6f360], 0
mov dword [esp + 0x54], ebx
mov dword [esp + 0x5c], esi
je 0x4c6168
mov edi, dword [ebx + 4]
mov ecx, dword [0xa70cb8]
xor ebx, ebx
mov eax, 0xa70c98
mov edx, 0x9b81f4
cmp ecx, 2
cmove ebx, eax
mov ecx, ebx
call fcn.00411f2d
mov dword [esp + 0x70], 4
and dword [esp + 0x74], 0
and dword [esp + 0x78], 0
cmp esi, 7
je 0x4c617f
cmp esi, 0xa
jne 0x4c61f7
mov ecx, ebx
mov edx, 0x9b8204
push 0x18
call fcn.004c3ed7
pop ecx
test al, al
je 0x4c61f7
mov esi, 0x3141
mov dword [esp + 4], 0
jmp 0x4c619b
xor edx, edx
mov edi, 0x9b81cd
mov dword [esp + 0x18], eax
push 0x26
pop ecx
mov dword [esp + 4], ecx
jmp 0x4c6216
mov dword [esp + 4], edi
mov ecx, ebx
mov edx, 0x9b821c
push 0x14
call fcn.004c3ed7
pop ecx
mov esi, 0x31d7
test al, al
je 0x4c61f7
lea ebx, [esp + 0x70]
mov edx, 0x3038
mov ecx, ebx
call fcn.004c677a
mov eax, dword [ebx]
mov edi, eax
push eax
push dword [esp + 8]
push esi
call dword [0xa6f35c]
lea ebx, [esp + 0x28]
mov edx, eax
mov ecx, ebx
call fcn.004c679e
mov edx, dword [ebx]
mov ecx, dword [ebx + 4]
mov ebx, edx
mov esi, edx
mov dword [esp + 0x24], ecx
xor ebx, 2
mov eax, ebx
or eax, ecx
jne 0x4c6509
mov eax, dword [esp + 0x30]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
jmp 0x4c6549
push 0x12
pop eax
mov dword [esp + 0x18], eax
push 0x28
pop eax
mov dword [esp + 4], eax
push 4
pop ecx
xor edx, edx
call fcn.00473334
xor edx, edx
mov edi, 0x9b8230
xor esi, esi
xor ecx, ecx
mov eax, dword [esp + 0x14]
lea ebx, [esp + 0x8c]
mov dword [esp + 8], esi
mov dword [ebx - 0x1c], esi
mov dword [ebx - 0x18], ecx
mov esi, dword [esp + 4]
mov dword [ebx - 0x14], eax
mov eax, dword [esp + 0x10]
mov dword [ebx - 0x10], eax
mov eax, dword [esp + 0x18]
mov dword [ebx - 0xc], eax
cmp eax, 4
mov dword [ebx - 8], edi
mov dword [ebx - 4], esi
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov dword [ebx], edx
mov dword [ebx + 4], esi
mov dword [ebx + 8], eax
jne 0x4c6273
mov ebx, edx
mov eax, edi
push 4
pop edi
mov esi, dword [esp + 8]
mov dword [esp + 0xc], eax
jmp 0x4c6395
push 0x12
pop esi
cmp byte [0xa6f368], 0
je 0x4c6351
mov eax, dword [0xa70cb8]
xor ecx, ecx
mov ebx, 0xa70c98
mov edx, 0x9b8258
cmp eax, 2
cmovne ebx, ecx
mov ecx, ebx
call fcn.00411f2d
mov dword [esp + 0x64], 4
and dword [esp + 0x68], 0
and dword [esp + 0x6c], 0
cmp dword [esp + 0x5c], 7
jne 0x4c632a
mov ecx, ebx
mov edx, 0x9b8268
push 0x15
call fcn.004c3ed7
pop ecx
test al, al
je 0x4c632a
mov eax, dword [esp + 0x54]
lea ebx, [esp + 0x64]
mov edx, 0x3038
mov ecx, ebx
mov esi, dword [eax + 4]
call fcn.004c677a
mov edi, dword [ebx]
push edi
push esi
push 0x31d7
call dword [0xa6f364]
lea ebx, [esp + 0x28]
mov edx, eax
mov ecx, ebx
call fcn.004c679e
mov esi, dword [ebx]
mov ecx, dword [ebx + 4]
mov eax, esi
mov dword [esp + 0x24], ecx
xor eax, 2
or eax, ecx
jne 0x4c6726
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], eax
jmp 0x4c6766
mov dword [esp + 0x18], esi
push 4
pop ecx
xor edx, edx
call fcn.00473334
mov dword [esp + 0xc], 0x9b8230
push 0x28
pop eax
mov dword [esp + 4], eax
mov dword [esp + 8], 0
jmp 0x4c636c
mov dword [esp + 0x18], esi
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x9b81a4
push 0x29
pop eax
mov dword [esp + 4], eax
xor esi, esi
xor edi, edi
lea eax, [esp + 0x8c]
push eax
call fcn.004c67ec
pop eax
mov eax, esi
mov ecx, edi
mov ebx, dword [esp + 8]
xor eax, 2
or eax, edi
mov edi, dword [esp + 0x18]
je 0x4c6568
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], ecx
cmp edi, 4
mov edx, dword [esp + 0xc]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], edi
mov edi, dword [esp + 4]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], edi
jne 0x4c63f6
mov edi, esi
push 4
pop esi
jmp 0x4c64cb
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], 0
cmp eax, 0xa
je 0x4c6415
cmp eax, 7
jne 0x4c644e
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 4]
jmp 0x4c6417
xor eax, eax
push eax
call dword [0xa6f34c]
lea ebx, [esp + 0x28]
mov edx, eax
mov ecx, ebx
call fcn.004c679e
mov edi, dword [ebx]
mov ecx, dword [ebx + 4]
mov eax, edi
mov dword [esp + 0x24], ecx
xor eax, 2
or eax, ecx
jne 0x4c646c
push 2
pop eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
jmp 0x4c64a4
push 0x12
pop esi
mov dword [esp + 0xc], 0x9b8230
push 0x28
pop eax
mov dword [esp + 4], eax
xor edi, edi
mov dword [esp + 0x24], 0
jmp 0x4c64a8
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0xc], eax
lea eax, [esp + 0x8c]
push eax
call fcn.004c67ec
pop eax
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 8]
mov eax, edi
xor eax, 2
or eax, ecx
je 0x4c6568
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x10]
mov dword [eax], edi
mov edi, dword [esp + 0x14]
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], esi
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov dword [eax + 0x14], esi
mov dword [eax + 0x18], edx
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x20], esi
mov dword [eax + 0x24], edx
jmp 0x4c671e
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x74]
mov ecx, edi
call fcn.00473334
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 8]
mov edi, dword [esp + 0xc]
or ebx, ecx
jne 0x4c621a
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x64]
and dword [ecx], 0
mov edi, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x60]
and dword [eax], 0
push ecx
push eax
mov ebx, dword [esp + 0x18]
push ebx
call dword [0xa6f384]
test eax, eax
je 0x4c66f5
mov eax, dword [esp + 0x60]
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x64]
mov edx, dword [0xa6f3c4]
mov dword [esp + 0x20], esi
lea esi, [esp + 0x70]
mov ecx, esi
mov dword [esp + 4], eax
push ebx
call fcn.004c4002
pop eax
mov ebx, esi
mov ecx, esi
mov edx, 0x9b827d
push 0x1a
call fcn.004c3ed7
pop ecx
movzx esi, al
mov ecx, ebx
mov edx, 0x9b8297
push 0x15
call fcn.004c3ed7
pop ecx
movzx eax, al
mov ecx, dword [esp + 4]
mov dword [esp + 8], edi
mov edx, edi
shl eax, 7
lea ebx, [eax + esi*4 + 0x68]
push 5
push 1
call fcn.004c6800
pop ecx
pop edx
test al, al
jne 0x4c661d
lea ecx, [esp + 0x70]
mov edx, 0x9b82ac
push 0x21
call fcn.004c3ed7
pop ecx
test al, al
je 0x4c6620
or ebx, 1
lea edi, [esp + 0x70]
mov edx, 0x9b82cd
mov ecx, edi
push 0x1f
call fcn.004c3ed7
pop ecx
movsd xmm1, qword [edi + 0x10]
movsd xmm0, qword [edi + 0x18]
movsd xmm2, qword [edi]
movzx esi, al
add esi, esi
or esi, ebx
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [edi + 8]
movsd qword [esp + 0x40], xmm0
movsd qword [esp + 0x28], xmm2
movsd qword [esp + 0x30], xmm1
push 0x48
pop ecx
push 8
pop edx
call fcn.004c2304
xor ecx, ecx
mov edx, dword [esp + 0x58]
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x1c]
movsd xmm0, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x30]
movsd qword [eax + 0x10], xmm0
movsd qword [eax + 0x18], xmm1
movsd xmm0, qword [esp + 0x38]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esp + 0x40]
movsd qword [eax + 0x28], xmm0
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0xc]
mov dword [eax + 0x38], ecx
mov ecx, dword [esp + 0x20]
mov dword [eax + 0x34], ecx
mov ecx, dword [esp + 0x98]
mov dword [eax + 0x3c], ecx
mov ecx, dword [esp + 4]
mov dword [eax + 0x40], esi
mov byte [eax + 0x44], cl
mov ecx, dword [esp + 8]
mov byte [eax + 0x45], cl
mov dword [edx + 8], eax
and dword [edx + 4], 0
mov dword [edx], 2
jmp 0x4c671e
lea edi, [esp + 0x28]
mov ecx, edi
call fcn.004c4938
lea ebx, [esp + 0x70]
mov edx, edi
mov ecx, ebx
call fcn.004c6819
mov ecx, dword [esp + 0x58]
mov edx, ebx
push 0x9b82fc
call fcn.004c6844
pop eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], ecx
mov edx, dword [esp + 0x68]
mov ecx, edi
call fcn.00473334
mov edi, dword [esp + 0x24]
jmp 0x4c6370