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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov eax, dword [0x533014]
xor eax, ebp
mov dword [esp + 0xa8], eax
xor edi, edi
dec edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], edi
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x90], xmm0
movdqa xmmword [esp + 0x80], xmm0
movdqa xmmword [esp + 0x70], xmm0
movdqa xmmword [esp + 0x60], xmm0
movdqa xmmword [esp + 0x50], xmm0
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], edi
test ecx, ecx
je 0x4a3dde
mov esi, ecx
mov dword [esp + 0x2c], edx
mov eax, dword [ecx + 0x48]
add eax, dword [ecx + 0x58]
mov ecx, dword [ecx + 0x4c]
adc ecx, dword [esi + 0x5c]
push 0
push ecx
push eax
push dword [esi + 0x30]
push esi
call fcn.004be14a
add esp, 0x14
mov ecx, edi
test eax, eax
jne 0x4a3b9c
mov edx, dword [esi + 0x30]
lea eax, [esp + 0x44]
mov ecx, esi
push eax
call fcn.004a4d52
add esp, 4
mov ecx, edi
test eax, eax
jne 0x4a3b9c
xor eax, eax
cmp dword [esp + 0x44], 0x2014b50
mov ecx, 0xffffff99
cmove ecx, eax
mov dword [esp + 8], ecx
mov edx, dword [esi + 0x30]
lea eax, [esp + 0x50]
mov ecx, esi
push eax
call fcn.004a4fc4
add esp, 4
mov ebx, eax
lea eax, [esp + 0x54]
mov edx, dword [esi + 0x30]
mov ecx, esi
push eax
call fcn.004a4fc4
add esp, 4
mov edi, eax
or edi, ebx
lea eax, [esp + 0x58]
mov edx, dword [esi + 0x30]
mov ecx, esi
push eax
call fcn.004a4fc4
add esp, 4
mov ebx, eax
lea eax, [esp + 0x5c]
mov edx, dword [esi + 0x30]
mov ecx, esi
push eax
call fcn.004a4fc4
add esp, 4
or eax, ebx
or eax, edi
mov dword [esp + 0xc], eax
lea edi, [esp + 0x60]
mov edx, dword [esi + 0x30]
mov ecx, esi
push edi
call fcn.004a4d52
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [edi]
mov ecx, eax
shr ecx, 0x10
and ecx, 0x1f
mov dword [edi + 0x3c], ecx
mov ecx, eax
shr ecx, 0x15
and ecx, 0xf
dec ecx
mov dword [edi + 0x40], ecx
mov ecx, eax
shr ecx, 0x19
add ecx, 0x7bc
mov dword [edi + 0x44], ecx
mov ecx, eax
shr ecx, 0xb
and ecx, 0x1f
mov dword [edi + 0x38], ecx
mov ecx, eax
shr ecx, 5
and ecx, 0x3f
mov dword [edi + 0x34], ecx
add eax, eax
and eax, 0x3e
mov dword [edi + 0x30], eax
lea ebx, [esp + 0x64]
mov edx, dword [esi + 0x30]
mov ecx, esi
push ebx
call fcn.004a4d52
add esp, 4
mov edi, eax
or edi, dword [esp + 0x10]
mov edx, dword [esi + 0x30]
lea eax, [esp + 0x40]
mov ecx, esi
push eax
call fcn.004a4d52
add esp, 4
or eax, edi
or eax, dword [esp + 0xc]
mov dword [esp + 0xc], eax
lea edi, [esp + 0x40]
mov eax, dword [edi]
mov dword [ebx + 4], eax
xor eax, eax
mov dword [ebx + 8], eax
mov edx, dword [esi + 0x30]
mov ecx, esi
push edi
call fcn.004a4d52
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [edi]
xor ecx, ecx
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0xc], eax
lea eax, [esp + 0x78]
mov edx, dword [esi + 0x30]
mov ecx, esi
push eax
call fcn.004a4fc4
add esp, 4
mov edi, eax
or edi, dword [esp + 0x10]
lea eax, [esp + 0x7c]
mov edx, dword [esi + 0x30]
mov ecx, esi
push eax
call fcn.004a4fc4
add esp, 4
or eax, edi
mov edi, eax
lea eax, [esp + 0x80]
mov edx, dword [esi + 0x30]
mov ecx, esi
push eax
call fcn.004a4fc4
add esp, 4
mov ebx, eax
or ebx, edi
or ebx, dword [esp + 0xc]
lea eax, [esp + 0x84]
mov edx, dword [esi + 0x30]
mov ecx, esi
push eax
call fcn.004a4fc4
add esp, 4
mov dword [esp + 0xc], eax
lea eax, [esp + 0x88]
mov edx, dword [esi + 0x30]
mov ecx, esi
push eax
call fcn.004a4fc4
add esp, 4
mov edi, eax
or edi, dword [esp + 0xc]
or edi, ebx
lea ebx, [esp + 0x8c]
mov edx, dword [esi + 0x30]
mov ecx, esi
push ebx
call fcn.004a4d52
add esp, 4
mov dword [esp + 0xc], eax
mov edx, dword [esi + 0x30]
mov dword [esp + 0x14], esi
mov ecx, esi
lea esi, [esp + 0x40]
push esi
call fcn.004a4d52
xor ecx, ecx
dec ecx
add esp, 4
or eax, dword [esp + 0xc]
or eax, edi
cmove ecx, dword [esp + 8]
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esi]
mov dword [esp + 0x48], eax
mov edi, dword [ebx - 0x14]
cmp dword [ebp + 0xc], 0
je 0x4a3de8
test ecx, ecx
jne 0x4a3df0
mov ecx, dword [ebp + 0x10]
mov ebx, ecx
cmp edi, ecx
jae 0x4a3d9a
mov eax, dword [ebp + 0xc]
mov byte [eax + edi], 0
mov ebx, edi
xor eax, eax
test ecx, ecx
je 0x4a3df8
test edi, edi
mov esi, dword [esp + 0x14]
je 0x4a3dfc
mov eax, dword [esi + 0x30]
mov dword [esp + 8], eax
mov ecx, dword [esi + 4]
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x1c]
call dword [section..00cfg]
push ebx
push dword [ebp + 0xc]
push dword [esp + 0x10]
push esi
mov esi, dword [esp + 0x24]
call ecx
add esp, 0x10
xor ecx, ecx
cmp eax, ebx
setne cl
neg ecx
mov eax, ecx
jmp 0x4a3dfc
mov ebx, 0xffffff9a
jmp 0x4a4289
mov esi, dword [esp + 0x14]
mov ebx, ecx
jmp 0x4a3e00
mov ebx, ecx
mov esi, dword [esp + 0x14]
jmp 0x4a3e00
mov esi, dword [esp + 0x14]
sub edi, ebx
mov ebx, eax
mov ecx, dword [esp + 0x7c]
cmp dword [ebp + 0x14], 0
je 0x4a3e51
test ebx, ebx
jne 0x4a3e51
mov esi, dword [ebp + 0x18]
cmp ecx, esi
mov ebx, esi
cmovb ebx, ecx
test edi, edi
mov dword [esp + 0x10], ecx
je 0x4a3e55
mov eax, edi
sar eax, 0x1f
push 1
push eax
push edi
mov eax, dword [esp + 0x20]
push dword [eax + 0x30]
push eax
call fcn.004be14a
add esp, 0x14
xor ecx, ecx
test eax, eax
setne cl
cmove edi, eax
neg ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x10]
mov eax, edi
jmp 0x4a3e5f
add edi, ecx
jmp 0x4a3eaf
mov dword [esp + 8], 0
xor eax, eax
test esi, esi
je 0x4a3ea1
test ecx, ecx
je 0x4a3ea1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0x30]
mov ecx, dword [eax + 4]
mov edi, dword [eax + 0x1c]
call dword [section..00cfg]
push ebx
push dword [ebp + 0x14]
push esi
push edi
call ecx
add esp, 0x10
xor ecx, ecx
dec ecx
cmp eax, ebx
mov eax, dword [esp + 8]
cmovne eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
mov edi, ecx
sub edi, ebx
add edi, eax
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 8]
test ebx, ebx
jne 0x4a41c4
test ecx, ecx
je 0x4a41c4
xor ebx, ebx
mov dword [esp + 8], 0
mov dword [esp + 0x18], 0
sub edi, ecx
je 0x4a3f48
mov eax, edi
sar eax, 0x1f
push 1
push eax
push edi
push dword [esi + 0x30]
push esi
mov dword [esp + 0x24], ecx
call fcn.004be14a
add esp, 0x14
xor ecx, ecx
test eax, eax
setne cl
cmove edi, eax
neg ecx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x18], edi
jmp 0x4a3f48
push 1
push 0
push ecx
push dword [ebx + 0x30]
push ebx
call fcn.004be14a
add esp, 0x14
neg eax
mov eax, 0
sbb eax, eax
or edi, eax
mov dword [esp + 8], edi
mov esi, ebx
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x20]
jmp 0x4a41af
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
jmp 0x4a41af
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
xor ebx, ebx
dec ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebx
mov edx, dword [esi + 0x30]
mov ecx, esi
lea eax, [esp + 0x3c]
push eax
call fcn.004a4fc4
add esp, 4
mov edi, eax
mov edx, dword [esi + 0x30]
mov ecx, esi
lea eax, [esp + 0x38]
push eax
call fcn.004a4fc4
add esp, 4
or eax, edi
mov eax, dword [esp + 8]
cmovne eax, ebx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
cmp eax, 0x7075
je 0x4a4061
cmp eax, 1
jne 0x4a415a
mov eax, dword [esp + 0x70]
not eax
or eax, dword [esp + 0x74]
mov ebx, dword [esp + 0xc]
jne 0x4a3fd5
mov edx, dword [esi + 0x30]
mov ecx, esi
lea eax, [esp + 0x70]
push eax
call fcn.004a4e17
add esp, 4
neg eax
mov eax, 0
sbb eax, eax
or dword [esp + 8], eax
mov eax, dword [esp + 0x68]
not eax
or eax, dword [esp + 0x6c]
jne 0x4a4000
mov edx, dword [esi + 0x30]
mov ecx, esi
lea eax, [esp + 0x68]
push eax
call fcn.004a4e17
add esp, 4
neg eax
mov eax, 0
sbb eax, eax
or dword [esp + 8], eax
mov eax, dword [esp + 0x48]
not eax
or eax, dword [esp + 0x4c]
jne 0x4a402b
mov edx, dword [esi + 0x30]
mov ecx, esi
lea eax, [esp + 0x48]
push eax
call fcn.004a4e17
add esp, 4
neg eax
mov eax, 0
sbb eax, eax
or dword [esp + 8], eax
cmp dword [esp + 0x84], 0xffffffff
jne 0x4a4054
mov edx, dword [esi + 0x30]
mov ecx, esi
lea eax, [esp + 0x34]
push eax
call fcn.004a4d52
add esp, 4
neg eax
mov eax, 0
sbb eax, eax
or dword [esp + 8], eax
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x7c]
jmp 0x4a41af
mov dword [esp + 0x34], 0
mov edx, dword [esi + 0x30]
mov ecx, esi
lea eax, [esp + 0x34]
push eax
call fcn.004a5036
add esp, 4
neg eax
mov ebx, esi
mov esi, 0
sbb esi, esi
or esi, dword [esp + 8]
cmp dword [esp + 0x34], 1
jne 0x4a417e
mov dword [esp + 0x30], 0xffffffff
mov edx, dword [ebx + 0x30]
mov ecx, ebx
lea eax, [esp + 0x30]
push eax
call fcn.004a4d52
add esp, 4
neg eax
mov edi, 0
sbb edi, edi
or edi, esi
push dword [esp + 0x78]
push dword [ebp + 0xc]
push 0
call fcn.0044e320
add esp, 0xc
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
add ecx, 0xfffffffb
cmp eax, dword [esp + 0x30]
jne 0x4a3f08
mov dword [esp + 8], edi
mov edx, dword [ebp + 0x10]
mov eax, edx
cmp ecx, edx
jae 0x4a40f6
mov eax, dword [ebp + 0xc]
mov byte [eax + ecx], 0
mov eax, ecx
test edx, edx
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x20]
je 0x4a3f3b
test ecx, ecx
je 0x4a3f3b
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 0x30]
mov dword [esp + 0x28], ecx
mov ecx, dword [esi + 4]
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x24], edx
mov dword [esp + 0x1c], eax
call dword [section..00cfg]
push dword [esp + 0x1c]
push dword [ebp + 0xc]
push dword [esp + 0x30]
push dword [esp + 0x30]
call ecx
add esp, 0x10
cmp eax, dword [esp + 0x1c]
mov eax, dword [esp + 8]
mov ecx, 0xffffffff
cmovne eax, ecx
mov dword [esp + 8], eax
jmp 0x4a3f3f
mov edi, dword [esp + 0x38]
push 1
push 0
push edi
push dword [esi + 0x30]
push esi
call fcn.004be14a
add esp, 0x14
neg eax
mov eax, 0
sbb eax, eax
or dword [esp + 8], eax
jmp 0x4a41a7
mov edi, dword [esp + 0x38]
lea eax, [edi - 1]
push 1
push 0
push eax
push dword [ebx + 0x30]
push ebx
call fcn.004be14a
add esp, 0x14
neg eax
mov eax, 0
sbb eax, eax
or eax, esi
mov dword [esp + 8], eax
mov esi, ebx
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
add ebx, edi
add ebx, 4
cmp ebx, ecx
jb 0x4a3f48
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 8]
cmp dword [ebp + 0x1c], 0
je 0x4a425b
test ebx, ebx
jne 0x4a425b
mov ebx, dword [ebp + 0x20]
mov esi, dword [esp + 0x80]
mov eax, ebx
cmp esi, ebx
jae 0x4a41ef
mov eax, dword [ebp + 0x1c]
mov byte [eax + esi], 0
mov eax, esi
test edi, edi
mov dword [esp + 8], eax
je 0x4a421a
mov eax, edi
sar eax, 0x1f
push 1
push eax
push edi
mov eax, dword [esp + 0x20]
push dword [eax + 0x30]
push eax
call fcn.004be14a
add esp, 0x14
xor ecx, ecx
neg eax
sbb ecx, ecx
mov eax, ecx
jmp 0x4a421c
xor eax, eax
test ebx, ebx
je 0x4a4259
test esi, esi
mov ebx, eax
je 0x4a425b
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x30]
mov dword [esp + 0xc], ecx
mov ecx, dword [eax + 4]
mov edi, dword [eax + 0x1c]
call dword [section..00cfg]
mov esi, dword [esp + 8]
push esi
push dword [ebp + 0x1c]
push dword [esp + 0x14]
push edi
call ecx
add esp, 0x10
xor ecx, ecx
dec ecx
cmp eax, esi
cmovne ebx, ecx
jmp 0x4a425b
mov ebx, eax
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x4a4275
test ebx, ebx
jne 0x4a4275
lea esi, [esp + 0x50]
mov ecx, 0x16
rep movsd dword es:[edi], dword [esi]
test eax, eax
je 0x4a4289
test ebx, ebx
jne 0x4a4289
movq xmm0, qword [esp + 0x48]
movq qword [eax], xmm0
xor ebx, ebx
mov ecx, dword [esp + 0xa8]
xor ecx, ebp
call fcn.004e3343
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret