Function at 0x4e1f03
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 [0x575010]
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 0x4e21fd
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.004eb39e
add esp, 0x14
mov ecx, edi
test eax, eax
jne 0x4e1fbb
mov edx, dword [esi + 0x30]
lea eax, [esp + 0x44]
mov ecx, esi
push eax
call fcn.004e315c
add esp, 4
mov ecx, edi
test eax, eax
jne 0x4e1fbb
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.004e33c1
add esp, 4
mov ebx, eax
lea eax, [esp + 0x54]
mov edx, dword [esi + 0x30]
mov ecx, esi
push eax
call fcn.004e33c1
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.004e33c1
add esp, 4
mov ebx, eax
lea eax, [esp + 0x5c]
mov edx, dword [esi + 0x30]
mov ecx, esi
push eax
call fcn.004e33c1
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.004e315c
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.004e315c
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.004e315c
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.004e315c
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.004e33c1
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.004e33c1
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.004e33c1
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.004e33c1
add esp, 4
mov dword [esp + 0xc], eax
lea eax, [esp + 0x88]
mov edx, dword [esi + 0x30]
mov ecx, esi
push eax
call fcn.004e33c1
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.004e315c
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.004e315c
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 0x4e2207
test ecx, ecx
jne 0x4e220f
mov ecx, dword [ebp + 0x10]
mov ebx, ecx
cmp edi, ecx
jae 0x4e21b9
mov eax, dword [ebp + 0xc]
mov byte [eax + edi], 0
mov ebx, edi
xor eax, eax
test ecx, ecx
je 0x4e2217
test edi, edi
mov esi, dword [esp + 0x14]
je 0x4e221b
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 0x4e221b
mov ebx, 0xffffff9a
jmp 0x4e26a8
mov esi, dword [esp + 0x14]
mov ebx, ecx
jmp 0x4e221f
mov ebx, ecx
mov esi, dword [esp + 0x14]
jmp 0x4e221f
mov esi, dword [esp + 0x14]
sub edi, ebx
mov ebx, eax
mov ecx, dword [esp + 0x7c]
cmp dword [ebp + 0x14], 0
je 0x4e2270
test ebx, ebx
jne 0x4e2270
mov esi, dword [ebp + 0x18]
cmp ecx, esi
mov ebx, esi
cmovb ebx, ecx
test edi, edi
mov dword [esp + 0x10], ecx
je 0x4e2274
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.004eb39e
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 0x4e227e
add edi, ecx
jmp 0x4e22ce
mov dword [esp + 8], 0
xor eax, eax
test esi, esi
je 0x4e22c0
test ecx, ecx
je 0x4e22c0
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 0x4e25e3
test ecx, ecx
je 0x4e25e3
xor ebx, ebx
mov dword [esp + 8], 0
mov dword [esp + 0x18], 0
sub edi, ecx
je 0x4e2367
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.004eb39e
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 0x4e2367
push 1
push 0
push ecx
push dword [ebx + 0x30]
push ebx
call fcn.004eb39e
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 0x4e25ce
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
jmp 0x4e25ce
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.004e33c1
add esp, 4
mov edi, eax
mov edx, dword [esi + 0x30]
mov ecx, esi
lea eax, [esp + 0x38]
push eax
call fcn.004e33c1
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 0x4e2480
cmp eax, 1
jne 0x4e2579
mov eax, dword [esp + 0x70]
not eax
or eax, dword [esp + 0x74]
mov ebx, dword [esp + 0xc]
jne 0x4e23f4
mov edx, dword [esi + 0x30]
mov ecx, esi
lea eax, [esp + 0x70]
push eax
call fcn.004e3212
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 0x4e241f
mov edx, dword [esi + 0x30]
mov ecx, esi
lea eax, [esp + 0x68]
push eax
call fcn.004e3212
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 0x4e244a
mov edx, dword [esi + 0x30]
mov ecx, esi
lea eax, [esp + 0x48]
push eax
call fcn.004e3212
add esp, 4
neg eax
mov eax, 0
sbb eax, eax
or dword [esp + 8], eax
cmp dword [esp + 0x84], 0xffffffff
jne 0x4e2473
mov edx, dword [esi + 0x30]
mov ecx, esi
lea eax, [esp + 0x34]
push eax
call fcn.004e315c
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 0x4e25ce
mov dword [esp + 0x34], 0
mov edx, dword [esi + 0x30]
mov ecx, esi
lea eax, [esp + 0x34]
push eax
call fcn.004e3433
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 0x4e259d
mov dword [esp + 0x30], 0xffffffff
mov edx, dword [ebx + 0x30]
mov ecx, ebx
lea eax, [esp + 0x30]
push eax
call fcn.004e315c
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.00496090
add esp, 0xc
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
add ecx, 0xfffffffb
cmp eax, dword [esp + 0x30]
jne 0x4e2327
mov dword [esp + 8], edi
mov edx, dword [ebp + 0x10]
mov eax, edx
cmp ecx, edx
jae 0x4e2515
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 0x4e235a
test ecx, ecx
je 0x4e235a
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 0x4e235e
mov edi, dword [esp + 0x38]
push 1
push 0
push edi
push dword [esi + 0x30]
push esi
call fcn.004eb39e
add esp, 0x14
neg eax
mov eax, 0
sbb eax, eax
or dword [esp + 8], eax
jmp 0x4e25c6
mov edi, dword [esp + 0x38]
lea eax, [edi - 1]
push 1
push 0
push eax
push dword [ebx + 0x30]
push ebx
call fcn.004eb39e
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 0x4e2367
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 8]
cmp dword [ebp + 0x1c], 0
je 0x4e267a
test ebx, ebx
jne 0x4e267a
mov ebx, dword [ebp + 0x20]
mov esi, dword [esp + 0x80]
mov eax, ebx
cmp esi, ebx
jae 0x4e260e
mov eax, dword [ebp + 0x1c]
mov byte [eax + esi], 0
mov eax, esi
test edi, edi
mov dword [esp + 8], eax
je 0x4e2639
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.004eb39e
add esp, 0x14
xor ecx, ecx
neg eax
sbb ecx, ecx
mov eax, ecx
jmp 0x4e263b
xor eax, eax
test ebx, ebx
je 0x4e2678
test esi, esi
mov ebx, eax
je 0x4e267a
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 0x4e267a
mov ebx, eax
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x4e2694
test ebx, ebx
jne 0x4e2694
lea esi, [esp + 0x50]
mov ecx, 0x16
rep movsd dword es:[edi], dword [esi]
test eax, eax
je 0x4e26a8
test ebx, ebx
jne 0x4e26a8
movq xmm0, qword [esp + 0x48]
movq qword [eax], xmm0
xor ebx, ebx
mov ecx, dword [esp + 0xa8]
xor ecx, ebp
call fcn.00508d63
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret