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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1a0
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov eax, dword [0x533014]
xor eax, ebp
mov dword [esp + 0x198], eax
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0xa0], xmm0
movdqa xmmword [esp + 0x90], xmm0
mov dword [esp + 0xb4], 0xffffffff
mov dword [esp + 0xb0], 0xffffffff
movdqa xmmword [esp + 0x70], xmm0
movdqa xmmword [esp + 0x60], xmm0
mov dword [esp + 0x84], 0xffffffff
mov dword [esp + 0x80], 0xffffffff
lea edi, [esi + 0x28]
movups xmm0, xmmword [ecx]
movups xmm1, xmmword [ecx + 0x10]
movaps xmmword [esp + 0x180], xmm1
movaps xmmword [esp + 0x170], xmm0
and byte [esp + 0x18f], 0x7f
lea edx, [esp + 0x170]
mov ecx, edi
call fcn.004c8370
xorps xmm0, xmm0
movups xmmword [esi + 0x64], xmm0
movups xmmword [esi + 0x54], xmm0
mov dword [esi + 0x74], 0
mov dword [esi + 0x50], 1
lea esi, [esp + 0x90]
mov ecx, esi
mov dword [esp + 0x24], edi
mov edx, edi
call fcn.004d2cf0
lea ecx, [esp + 0x60]
mov edx, esi
push 0x52abfc
call fcn.004d1f60
add esp, 4
mov esi, 0x7ffffd9
add esi, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov edi, esi
shr edi, 0x1a
add edx, edi
add edx, 0x3fffffe
mov edi, edx
shr edi, 0x19
add eax, edi
add eax, 0x7fffffe
mov edi, eax
shr edi, 0x1a
add edi, ecx
add edi, 0x3fffffe
mov dword [esp + 8], edi
shr edi, 0x19
mov ebx, dword [esp + 0xa0]
add edi, ebx
add edi, 0x7fffffe
mov dword [esp + 0xc], edi
shr edi, 0x1a
mov ebx, dword [esp + 0xa4]
add edi, ebx
add edi, 0x3fffffe
mov dword [esp + 0x10], edi
shr edi, 0x19
mov ebx, dword [esp + 0xa8]
add edi, ebx
add edi, 0x7fffffe
mov dword [esp + 0x14], edi
shr edi, 0x1a
mov ebx, dword [esp + 0xac]
add edi, ebx
add edi, 0x3fffffe
mov dword [esp + 0x18], edi
shr edi, 0x19
mov ebx, dword [esp + 0xb0]
add edi, ebx
add edi, 0x7fffffe
mov dword [esp + 0x1c], edi
shr edi, 0x1a
mov ebx, dword [esp + 0xb4]
lea ecx, [ebx + edi]
add ecx, 0x3fffffe
mov edi, ecx
shr edi, 0x19
lea ebx, [edi + edi*8]
lea edi, [edi + ebx*2]
and esi, 0x3ffffff
add edi, esi
mov esi, edi
shr esi, 0x1a
and edx, 0x1ffffff
add edx, esi
mov esi, edx
shr edx, 0x19
and eax, 0x3ffffff
add eax, edx
and edi, 0x3ffffff
mov dword [esp + 0xe8], edi
and esi, 0x1ffffff
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 8]
and eax, 0x1ffffff
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0xc0], eax
movdqu xmm0, xmmword [esp + 0x64]
movups xmm1, xmmword [esp + 0x74]
movdqu xmmword [esp + 0xc4], xmm0
movups xmmword [esp + 0xd4], xmm1
mov eax, dword [esp + 0x84]
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xc]
and eax, 0x3ffffff
mov edx, dword [esp + 0x10]
and edx, 0x1ffffff
mov esi, dword [esp + 0x14]
and esi, 0x3ffffff
mov edi, dword [esp + 0x18]
and edi, 0x1ffffff
mov ebx, dword [esp + 0x1c]
and ebx, 0x3ffffff
and ecx, 0x1ffffff
mov dword [esp + 0xc], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xfc], edx
mov dword [esp + 0x14], esi
mov dword [esp + 0x100], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x104], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10c], ecx
lea eax, [esp + 0xc0]
lea edx, [esp + 0xe8]
lea esi, [esp + 0x90]
mov ecx, esi
push eax
call fcn.004d1f60
add esp, 4
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmmword [esp + 0x170], xmm0
mov dword [esp + 0x194], 0xffffffff
mov dword [esp + 0x190], 0xffffffff
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x140], xmm0
mov dword [esp + 0x164], 0xffffffff
mov dword [esp + 0x160], 0xffffffff
movdqa xmmword [esp + 0x120], xmm0
movdqa xmmword [esp + 0x110], xmm0
mov dword [esp + 0x134], 0xffffffff
mov dword [esp + 0x130], 0xffffffff
lea ebx, [esp + 0x170]
mov ecx, ebx
mov edx, esi
call fcn.004d2cf0
lea edi, [esp + 0x140]
mov ecx, edi
mov edx, ebx
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, esi
push edi
call fcn.004d1f60
add esp, 4
mov ecx, ebx
mov edx, ebx
push edi
call fcn.004d1f60
add esp, 4
mov ecx, ebx
mov edx, ebx
call fcn.004d2cf0
mov ecx, ebx
mov edx, edi
push ebx
call fcn.004d1f60
add esp, 4
mov ecx, edi
mov edx, ebx
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, ebx
mov edx, edi
push ebx
call fcn.004d1f60
add esp, 4
mov ecx, edi
mov edx, ebx
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
push ebx
call fcn.004d1f60
add esp, 4
lea esi, [esp + 0x110]
mov ecx, esi
mov edx, edi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, edi
mov edx, esi
push edi
call fcn.004d1f60
add esp, 4
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
mov ecx, ebx
mov edx, edi
push ebx
call fcn.004d1f60
add esp, 4
mov ecx, edi
mov edx, ebx
call fcn.004d2cf0
mov esi, 0x31
nop dword [eax]
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
dec esi
jne 0x4c6160
lea esi, [esp + 0x140]
mov ecx, esi
mov edx, esi
lea eax, [esp + 0x170]
push eax
call fcn.004d1f60
add esp, 4
lea edi, [esp + 0x110]
mov ecx, edi
mov edx, esi
call fcn.004d2cf0
mov ebx, 0x63
nop dword [eax]
mov ecx, edi
mov edx, edi
call fcn.004d2cf0
dec ebx
jne 0x4c61a0
lea edx, [esp + 0x110]
mov ecx, esi
push esi
call fcn.004d1f60
add esp, 4
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov edi, 0x31
nop dword [eax]
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
dec edi
jne 0x4c61d0
lea edx, [esp + 0x140]
lea esi, [esp + 0x170]
mov ecx, esi
push esi
call fcn.004d1f60
add esp, 4
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
call fcn.004d2cf0
mov edi, dword [ebp + 8]
mov ecx, edi
mov edx, esi
lea eax, [esp + 0x90]
push eax
call fcn.004d1f60
add esp, 4
mov ecx, edi
mov edx, edi
lea eax, [esp + 0xe8]
push eax
call fcn.004d1f60
add esp, 4
lea esi, [esp + 0x60]
mov ecx, esi
mov edx, edi
call fcn.004d2cf0
mov ecx, esi
mov edx, esi
lea eax, [esp + 0xc0]
push eax
call fcn.004d1f60
add esp, 4
mov ebx, dword [esp + 0x60]
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x50], ebx
mov dword [esp + 8], eax
sub ebx, eax
add ebx, 0x7ffffda
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x30], eax
mov dword [esp + 0x58], ecx
sub eax, ecx
mov ecx, ebx
shr ecx, 0x1a
lea esi, [eax + ecx]
add esi, 0x3fffffe
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], ecx
sub eax, ecx
mov ecx, esi
shr ecx, 0x19
add ecx, eax
add ecx, 0x7fffffe
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0xf4]
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], edx
sub eax, edx
mov edx, ecx
shr edx, 0x1a
add edx, eax
add edx, 0x3fffffe
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], eax
sub eax, dword [esp + 0xc]
shr edx, 0x19
add edx, eax
add edx, 0x7fffffe
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x54], eax
sub eax, dword [esp + 0x10]
shr edx, 0x1a
add edx, eax
add edx, 0x3fffffe
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x78]
mov dword [esp + 0x48], eax
sub eax, dword [esp + 0x14]
shr edx, 0x19
add edx, eax
add edx, 0x7fffffe
mov dword [esp + 0x14], edx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x40], eax
sub eax, dword [esp + 0x18]
shr edx, 0x1a
add edx, eax
add edx, 0x3fffffe
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x80]
mov dword [esp + 0x38], eax
sub eax, dword [esp + 0x1c]
shr edx, 0x19
add edx, eax
add edx, 0x7fffffe
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x84]
mov dword [esp + 0x34], eax
sub eax, dword [esp + 0x20]
shr edx, 0x1a
add edx, eax
add edx, 0x3fffffe
mov eax, edx
shr eax, 0x19
lea edi, [eax + eax*8]
lea eax, [eax + edi*2]
and ebx, 0x3ffffff
add eax, ebx
mov edi, eax
shr edi, 0x1a
and esi, 0x1ffffff
add esi, edi
mov ebx, esi
shr esi, 0x19
and ecx, 0x3ffffff
add ecx, esi
and eax, 0x3ffffff
mov dword [esp + 0x170], eax
and ebx, 0x1ffffff
mov dword [esp + 0x174], ebx
mov dword [esp + 0x178], ecx
mov eax, dword [esp + 0x5c]
and eax, 0x1ffffff
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0xc]
and eax, 0x3ffffff
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x10]
and eax, 0x1ffffff
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x14]
and eax, 0x3ffffff
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x18]
and eax, 0x1ffffff
mov dword [esp + 0x18c], eax
mov eax, dword [esp + 0x1c]
and eax, 0x3ffffff
mov dword [esp + 0x190], eax
and edx, 0x1ffffff
mov dword [esp + 0x194], edx
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x140], xmm0
lea edx, [esp + 0x170]
lea esi, [esp + 0x140]
mov ecx, esi
call fcn.004c58b0
push 0x20
push 0x52b054
push esi
call fcn.0049f2d0
add esp, 0xc
test eax, eax
je 0x4c6641
mov eax, dword [esp + 8]
add eax, dword [esp + 0x50]
mov ebx, eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x58]
add eax, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
add edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x44]
add ecx, dword [esp + 0x28]
shr ebx, 0x1a
add ebx, eax
mov eax, ebx
shr eax, 0x19
add eax, edx
mov dword [esp + 0xc], eax
mov edx, eax
shr edx, 0x1a
add edx, ecx
mov dword [esp + 0x1c], edx
shr edx, 0x19
add edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
add eax, dword [esp + 0xfc]
add edx, dword [esp + 0xf8]
mov edi, edx
shr edi, 0x1a
add edi, eax
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x100]
shr edi, 0x19
add edi, eax
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x38]
add ecx, dword [esp + 0x108]
shr edi, 0x1a
add edi, eax
mov dword [esp + 0x10], edi
shr edi, 0x19
add edi, ecx
mov eax, dword [esp + 0x34]
add eax, dword [esp + 0x10c]
mov esi, edi
shr esi, 0x1a
add esi, eax
mov eax, esi
shr eax, 0x19
lea ecx, [eax + eax*8]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 8]
and ecx, 0x3ffffff
add eax, ecx
mov ecx, eax
shr ecx, 0x1a
and ebx, 0x1ffffff
add ebx, ecx
mov dword [esp + 8], ebx
shr ebx, 0x19
mov ecx, dword [esp + 0xc]
and ecx, 0x3ffffff
add ecx, ebx
and eax, 0x3ffffff
mov dword [esp + 0x170], eax
mov eax, dword [esp + 8]
and eax, 0x1ffffff
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], ecx
mov eax, dword [esp + 0x1c]
and eax, 0x1ffffff
mov dword [esp + 0x17c], eax
and edx, 0x3ffffff
mov dword [esp + 0x180], edx
mov eax, dword [esp + 0x18]
and eax, 0x1ffffff
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x14]
and eax, 0x3ffffff
mov dword [esp + 0x188], eax
mov eax, dword [esp + 0x10]
and eax, 0x1ffffff
mov dword [esp + 0x18c], eax
and edi, 0x3ffffff
mov dword [esp + 0x190], edi
and esi, 0x1ffffff
mov dword [esp + 0x194], esi
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x150], xmm0
movdqa xmmword [esp + 0x140], xmm0
lea edx, [esp + 0x170]
lea esi, [esp + 0x140]
mov ecx, esi
call fcn.004c58b0
push 0x20
push 0x52b054
push esi
call fcn.0049f2d0
add esp, 0xc
xor esi, esi
test eax, eax
jne 0x4c67f2
mov ecx, dword [ebp + 8]
mov edx, ecx
push 0x52ac24
call fcn.004d1f60
add esp, 4
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x180], xmm0
movdqa xmmword [esp + 0x170], xmm0
lea ecx, [esp + 0x170]
mov esi, dword [ebp + 8]
mov edx, esi
call fcn.004c58b0
movzx eax, byte [esp + 0x170]
and al, 1
mov ecx, dword [ebp + 0xc]
movzx ecx, byte [ecx + 0x1f]
shr cl, 7
cmp al, cl
mov edx, esi
je 0x4c67de
mov esi, 0x7ffffda
sub esi, dword [edx]
mov dword [esp + 8], esi
shr esi, 0x1a
sub esi, dword [edx + 4]
add esi, 0x3fffffe
mov edi, esi
shr edi, 0x19
sub edi, dword [edx + 8]
add edi, 0x7fffffe
mov dword [esp + 0x10], edi
shr edi, 0x1a
sub edi, dword [edx + 0xc]
add edi, 0x3fffffe
mov dword [esp + 0x1c], edi
shr edi, 0x19
sub edi, dword [edx + 0x10]
add edi, 0x7fffffe
mov dword [esp + 0x18], edi
shr edi, 0x1a
sub edi, dword [edx + 0x14]
add edi, 0x3fffffe
mov dword [esp + 0x14], edi
shr edi, 0x19
sub edi, dword [edx + 0x18]
add edi, 0x7fffffe
mov dword [esp + 0xc], edi
shr edi, 0x1a
sub edi, dword [edx + 0x1c]
add edi, 0x3fffffe
mov dword [esp + 0x20], edi
shr edi, 0x19
mov eax, dword [ebp + 8]
sub edi, dword [eax + 0x20]
add edi, 0x7fffffe
mov ebx, edi
shr ebx, 0x1a
mov eax, dword [ebp + 8]
sub ebx, dword [eax + 0x24]
add ebx, 0x3fffffe
mov eax, ebx
shr eax, 0x19
lea ecx, [eax + eax*8]
lea eax, [eax + ecx*2]
mov ecx, dword [esp + 8]
and ecx, 0x3ffffff
add eax, ecx
mov ecx, eax
shr ecx, 0x1a
and esi, 0x1ffffff
add esi, ecx
mov dword [esp + 8], esi
shr esi, 0x19
mov edx, dword [esp + 0x10]
and edx, 0x3ffffff
add edx, esi
and eax, 0x3ffffff
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
mov ecx, dword [esp + 8]
and ecx, 0x1ffffff
mov eax, dword [ebp + 8]
mov dword [eax + 4], ecx
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [esp + 0x1c]
and ecx, 0x1ffffff
mov eax, dword [ebp + 8]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x18]
and ecx, 0x3ffffff
mov eax, dword [ebp + 8]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x14]
and ecx, 0x1ffffff
mov eax, dword [ebp + 8]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0xc]
and ecx, 0x3ffffff
mov eax, dword [ebp + 8]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x20]
and ecx, 0x1ffffff
mov eax, dword [ebp + 8]
mov dword [eax + 0x1c], ecx
and edi, 0x3ffffff
mov eax, dword [ebp + 8]
mov dword [eax + 0x20], edi
mov edx, dword [ebp + 8]
and ebx, 0x1ffffff
mov dword [edx + 0x24], ebx
lea ecx, [edx + 0x78]
push dword [esp + 0x24]
call fcn.004d1f60
add esp, 4
mov esi, 1
mov ecx, dword [esp + 0x198]
xor ecx, ebp
call fcn.004e3343
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret