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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x160
push ebx
push esi
push edi
mov dword [ebp - 0x158], ecx
mov eax, dword [ebp - 0x158]
cmp dword [eax + 0x1c], 0
jne 0x4aab73
jmp 0x4ab3f3
call fcn.004e2400
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xec], ecx
call fcn.004e23e0
mov dword [ebp - 0x3c], eax
call fcn.004e23d0
mov dword [ebp - 0xe0], eax
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x70]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x6c]
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0x70], 1
jge 0x4aabbf
mov dword [ebp - 0x70], 1
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x70]
jle 0x4aabd3
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x74]
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x78]
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x7c]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x80]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0xec]
fild dword [ecx + 0x84]
fstp qword [ebp - 0xa8]
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0x88]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x8c]
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0x90]
mov dword [ebp - 0x9c], ecx
mov edx, dword [ebp - 0xec]
fild dword [edx + 0x94]
fstp qword [ebp - 0x58]
mov eax, dword [ebp - 0xec]
fild dword [eax + 0x98]
fstp qword [ebp - 0x88]
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx + 0x9c]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax + 0xa0]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 0xa4]
mov dword [ebp - 0x4c], eax
fld qword [ebp - 0x88]
fmul qword [0x57c178]
fstp qword [ebp - 0x88]
fild dword [ebp - 0x10c]
fld qword [ebp - 0x58]
fmul qword [0x57c178]
fmulp st(1)
fsubr qword [ebp - 0xa8]
fstp qword [ebp - 0xa8]
fldz
fcomp qword [ebp - 0xa8]
fnstsw ax
test ah, 0x41
jne 0x4aacf7
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov eax, dword [ebp - 0x3c]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe0]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0xe8], 1
jl 0x4aad2a
cmp dword [ebp - 0x30], 1
jge 0x4aad2f
jmp 0x4ab3f3
mov dword [ebp - 0x110], 0xa
mov ecx, dword [ebp - 0x110]
add ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x158]
mov eax, dword [edx + 0x40]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x124], 0
jmp 0x4aad6f
mov ecx, dword [ebp - 0x124]
add ecx, 1
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x124]
cmp edx, dword [ebp - 0x98]
jge 0x4aaf0f
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x10c]
imul eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x124]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0
js 0x4aaee9
mov ecx, dword [ebp - 0x128]
cmp ecx, dword [ebp - 0x44]
jge 0x4aaee9
mov edx, dword [ebp - 0x128]
cmp edx, dword [ebp - 0x110]
jge 0x4aadf2
fild dword [ebp - 0x128]
fmul qword [ebp - 0xa8]
fidiv dword [ebp - 0x110]
fstp qword [ebp - 0x138]
jmp 0x4aae35
mov eax, dword [ebp - 0x128]
cmp eax, dword [ebp - 0x44]
jge 0x4aae35
mov ecx, dword [ebp - 0x44]
sub ecx, dword [ebp - 0x128]
mov dword [ebp - 0x15c], ecx
fild dword [ebp - 0x15c]
fmul qword [ebp - 0xa8]
mov edx, dword [ebp - 0x44]
sub edx, dword [ebp - 0x110]
mov dword [ebp - 0x160], edx
fild dword [ebp - 0x160]
fdivp st(1)
fstp qword [ebp - 0x138]
mov eax, dword [ebp - 0x9c]
neg eax
imul eax, dword [ebp - 0x10c]
add eax, dword [ebp - 0x124]
cdq
idiv dword [ebp - 0x8c]
mov dword [ebp - 0x144], edx
fild dword [ebp - 0x144]
fstp qword [ebp - 0x140]
fld qword [ebp - 0x140]
fmul qword [0x57c150]
fstp qword [ebp - 0x140]
fild dword [ebp - 0x8c]
fdivr qword [ebp - 0x140]
fstp qword [ebp - 0x140]
sub esp, 8
mov ecx, dword [ebp - 0x140]
mov edx, dword [ebp - 0x13c]
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.0041df40
add esp, 8
fmul qword [ebp - 0x138]
fadd qword [0x565208]
fstp qword [ebp - 0x150]
fld qword [ebp - 0x150]
call fcn.00482d30
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x12c]
shl eax, 8
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x12c]
and ecx, 0xffff
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x12c]
shl edx, 0x10
or edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x158]
mov ecx, dword [eax + 0x10]
mov eax, dword [ebp - 0x124]
mov dword [ecx + eax*4], edx
jmp 0x4aad60
mov ecx, dword [ebp - 0x3c]
shl ecx, 2
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xe8]
lea edx, [ecx*4 + 8]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x158]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xec]
mov eax, dword [edx + 4]
mov dword [ebp - 0x68], eax
cmp dword [ebp - 0x68], 0xffffffff
jne 0x4aaf63
jmp 0x4ab3f3
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x158]
mov ecx, dword [edx + 0xc]
call fcn.004caa50
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0xac], 0xffffffff
jne 0x4aaf8c
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x94], eax
jmp 0x4aafa7
mov ecx, dword [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0x158]
mov ecx, dword [edx + 0xc]
call fcn.004caa50
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x40], 0
jne 0x4aafb2
jmp 0x4ab3f3
cmp dword [ebp - 0x94], 0
jne 0x4aafc0
jmp 0x4ab3f3
mov ecx, dword [ebp - 0x40]
call fcn.004dbc80
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
jne 0x4aafdc
jmp 0x4ab3f3
mov ecx, dword [ebp - 0x94]
call fcn.004dbc80
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jne 0x4aaff5
jmp 0x4ab3f3
mov eax, dword [ebp - 0xec]
add eax, 0x1c
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
mov edx, dword [eax + 4]
mov dword [ebp - 0x10], edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0xac]
push eax
lea ecx, [ebp - 0x7c]
push ecx
mov edx, dword [ebp - 0x158]
mov ecx, dword [edx + 0xc]
call fcn.004caa10
mov eax, dword [ebp - 0x14]
neg eax
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x10]
neg ecx
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0x7c]
neg edx
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x78]
neg eax
mov dword [ebp - 0x120], eax
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [ebp - 0x40]
call fcn.004dbe90
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x108], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x108], 1
jge 0x4ab080
jmp 0x4ab3f3
cmp dword [ebp - 0x104], 1
jge 0x4ab08e
jmp 0x4ab3f3
lea ecx, [ebp - 0x100]
push ecx
mov ecx, dword [ebp - 0x94]
call fcn.004dbe90
mov edx, dword [ebp - 0xf8]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xc4], 1
jge 0x4ab0c6
jmp 0x4ab3f3
cmp dword [ebp - 0xd8], 1
jge 0x4ab0d4
jmp 0x4ab3f3
mov ecx, dword [ebp - 0x108]
shl ecx, 2
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xc4]
shl edx, 2
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x118], 0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 1
jge 0x4ab130
mov dword [ebp - 4], 1
mov dword [ebp - 0x5c], pe_nt_image_headers32
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0x10c]
cmp ecx, dword [ebp - 0x34]
jl 0x4ab197
mov edx, dword [ebp - 0x10c]
sub edx, dword [ebp - 0x34]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 4]
sub eax, dword [ebp - 0x154]
imul eax, eax, 0x64
cdq
idiv dword [ebp - 4]
shl eax, 8
cdq
mov ecx, 0x64
idiv ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x154]
imul eax, eax, 0x64
cdq
idiv dword [ebp - 4]
shl eax, 8
cdq
mov ecx, 0x64
idiv ecx
mov dword [ebp - 0xcc], eax
mov edx, dword [ebp - 0x158]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0xb0], eax
push eax
push ebx
push ecx
push edx
push esi
push edi
mov eax, dword [ebp - 0x5c]
movd mm5, eax
punpcklwd mm5, mm5
punpckldq mm5, mm5
mov eax, dword [ebp - 0xcc]
movd mm6, eax
punpcklwd mm6, mm6
punpckldq mm6, mm6
mov esi, dword [ebp - 0xb0]
mov edi, dword [ebp - 0x48]
mov ecx, 0
push ecx
push edi
mov dword [ebp - 0xe4], ecx
mov ecx, 0
push ecx
test ecx, 2
jne 0x4ab1f3
movq mm1, qword [esi]
mov ebx, dword [esi + 0x10]
jmp 0x4ab1fd
movq mm1, qword [esi + 8]
mov ebx, dword [esi + 0x14]
add esi, 0x18
mov edx, ebx
mov ecx, dword [ebp - 0xc8]
and ebx, 0xffff
shr edx, 0x10
mov eax, dword [ebx + ecx]
movd mm2, eax
mov eax, dword [edx + ecx]
movd mm3, eax
psllq mm3, 0x20
por mm2, mm3
pmulhw mm1, mm2
pop ecx
push ecx
push esi
pxor mm3, mm3
pxor mm4, mm4
movq mm7, mm1
psllq mm7, 0x10
psrad mm7, 0x10
movd eax, mm7
add eax, ecx
add eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x108]
jae 0x4ab280
shl eax, 2
mov esi, eax
movq mm7, mm1
psrad mm7, 0x10
movd eax, mm7
add eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0x104]
jae 0x4ab280
mov edx, dword [ebp - 0xd4]
mul edx
add esi, eax
add esi, dword [ebp - 0xb4]
mov eax, dword [esi]
movd mm3, eax
movq mm7, mm1
psllq mm7, 0x10
psrad mm7, 0x10
movd eax, mm7
add eax, ecx
add eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0xc4]
jae 0x4ab2d0
shl eax, 2
mov esi, eax
movq mm7, mm1
psrad mm7, 0x10
movd eax, mm7
add eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0x120]
cmp eax, dword [ebp - 0xd8]
jae 0x4ab2d0
mov edx, dword [ebp - 0x11c]
mul edx
add esi, eax
add esi, dword [ebp - 0x64]
mov eax, dword [esi]
movd mm4, eax
pxor mm0, mm0
punpcklbw mm3, mm0
pmullw mm3, mm5
punpcklbw mm4, mm0
pmullw mm4, mm6
paddw mm3, mm4
psrlw mm3, 8
packuswb mm3, mm0
movd eax, mm3
mov dword [edi], eax
pxor mm3, mm3
pxor mm4, mm4
movq mm7, mm1
psllq mm7, 0x10
psrad mm7, 0x10
psrlq mm7, 0x20
movd eax, mm7
add eax, ecx
inc eax
add eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x108]
jae 0x4ab350
shl eax, 2
mov esi, eax
movq mm7, mm1
psrad mm7, 0x10
psrlq mm7, 0x20
movd eax, mm7
add eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0xdc]
cmp eax, dword [ebp - 0x104]
jae 0x4ab350
mov edx, dword [ebp - 0xd4]
mul edx
add esi, eax
add esi, dword [ebp - 0xb4]
mov eax, dword [esi]
movd mm3, eax
movq mm7, mm1
psllq mm7, 0x10
psrad mm7, 0x10
psrlq mm7, 0x20
movd eax, mm7
add eax, ecx
inc eax
add eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0xc4]
jae 0x4ab3a9
shl eax, 2
mov esi, eax
movq mm7, mm1
psrad mm7, 0x10
psrlq mm7, 0x20
movd eax, mm7
add eax, dword [ebp - 0xe4]
add eax, dword [ebp - 0x120]
cmp eax, dword [ebp - 0xd8]
jae 0x4ab3a9
mov edx, dword [ebp - 0x11c]
mul edx
add esi, eax
add esi, dword [ebp - 0x64]
mov eax, dword [esi]
movd mm4, eax
pxor mm0, mm0
punpcklbw mm3, mm0
pmullw mm3, mm5
punpcklbw mm4, mm0
pmullw mm4, mm6
paddw mm3, mm4
psrlw mm3, 8
packuswb mm3, mm0
movd eax, mm3
mov dword [edi + 4], eax
pop esi
pop ecx
add edi, 8
add ecx, 2
cmp ecx, dword [ebp - 0x3c]
jb 0x4ab1e2
pop edi
pop ecx
add edi, dword [ebp - 0x18]
inc ecx
cmp ecx, dword [ebp - 0xe0]
jne 0x4ab1d5
emms
pop edi
pop esi
pop edx
pop ecx
pop ebx
pop eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8