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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
mov eax, ecx
mov dword [esp + 0x10], edx
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov ecx, dword [eax + 0x5c]
mov dword [esp + 0x40], ecx
mov ecx, dword [eax + 0xc0]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 0x64]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0xbc]
mov dword [esp + 0x5c], ecx
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x64], eax
mov dword [esp + 0xc], esi
mov ebx, dword [ebp + 8]
lea edx, [esi + ecx]
mov dword [esp + 8], edx
add edx, 0xfffffff8
mov dword [esp + 0x44], edx
mov edx, dword [eax + 4]
sub dword [esp + 0xc], edx
add dword [esp + 0xc], ecx
mov ecx, dword [eax + 0xb8]
mov dword [esp + 0x28], edx
mov edx, 1
shl edx, cl
mov ecx, dword [eax + 0x10]
mov eax, dword [esp + 0xc]
sub dword [esp + 0xc], edx
sub eax, ecx
cmp eax, edx
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x64]
cmovbe eax, ecx
push edi
mov edi, esi
cmp dword [edx + 0x18], 0
mov dword [esp + 0x20], edi
cmovne eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [edx + 0xc]
mov ecx, dword [esp + 0x10]
cmp eax, ecx
cmova ecx, eax
mov eax, dword [esp + 0x2c]
add eax, ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x30], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
add eax, dword [esp + 0x38]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x38]
add eax, ecx
mov dword [esp + 0x50], eax
mov eax, dword [ebx]
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 4]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
cmp ecx, dword [esp + 0x10]
jne 0x4e1210
push dword [ebp + 0x10]
push esi
push dword [ebp + 8]
push ebx
push edx
call fcn.004e0ff0
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, dword [esp + 0x48]
jae 0x4e1d42
mov eax, 0x40
mov ebx, 0x40
sub eax, dword [esp + 0x5c]
mov ecx, 0x20
sub ebx, dword [esp + 0x60]
sub ecx, dword [esp + 0x60]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x14]
add eax, 0xfffffffc
mov dword [esp + 0x14], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x34], eax
nop dword [eax + eax]
cmp eax, 4
ja case.0x4e1255.0
jmp dword [eax*4 + 0x4e1d5c]
push 0xcf1bbcdc
push 0xbb000000
push dword [esi + 4]
push dword [esi]
call fcn.00525430
mov ecx, ebx
call fcn.00525010
mov ebx, eax
jmp 0x4e12a7
push 0xcf1bbcdc
push 0xbf9b0000
jmp 0x4e1266
push 0xcf1bbcdc
push 0xbfa56300
jmp 0x4e1266
push 0xcf1bbcdc
push 0xb7a56463
jmp 0x4e1266
imul ebx, dword [esi], 0x9e3779b1
shr ebx, cl
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
push 0xcf1bbcdc
push 0xb7a56463
mov eax, dword [eax + ebx*4]
cmp eax, dword [esp + 0x20]
push dword [esi + 4]
cmovb ecx, dword [esp + 0x44]
push dword [esi]
mov dword [esp + 0x78], eax
mov dword [esp + 0x6c], ecx
call fcn.00525430
mov ecx, dword [esp + 0x54]
call fcn.00525010
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x18]
mov edx, dword [ecx + eax*4]
cmp edx, edi
mov ecx, dword [esp + 0x2c]
cmovb ecx, dword [esp + 0x38]
mov dword [esp + 0x60], ecx
mov ecx, esi
sub ecx, dword [esp + 0x2c]
mov dword [esp + 0x40], ecx
sub ecx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x74], edx
mov dword [esp + 0x58], ecx
cmp dword [esp + 0x58], edi
mov ecx, dword [esp + 0x2c]
cmovb ecx, dword [esp + 0x38]
add ecx, dword [esp + 0x58]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x40]
mov dword [edi + eax*4], ecx
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
mov dword [eax + ebx*4], ecx
sub ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
inc ecx
cmp ecx, dword [esp + 0x28]
sbb ecx, ecx
sub eax, dword [esp + 0x58]
dec eax
inc ecx
cmp eax, 3
sbb eax, eax
inc eax
test eax, ecx
je 0x4e14a9
mov ecx, dword [esp + 0x6c]
lea ebx, [esi + 1]
mov dword [esp + 0x70], ebx
mov eax, dword [ecx]
cmp eax, dword [ebx]
jne 0x4e14a9
mov edx, dword [esp + 0xc]
lea edi, [ecx + 4]
mov eax, dword [esp + 0x18]
mov ebx, edx
cmp dword [esp + 0x58], eax
mov ecx, edx
cmovb ebx, dword [esp + 0x50]
add esi, 5
mov eax, esi
mov dword [esp + 0x6c], esi
sub eax, edi
add eax, ebx
cmp eax, edx
mov edx, edi
cmovb ecx, eax
push ecx
mov ecx, esi
call fcn.004dc690
mov esi, eax
add esp, 4
lea eax, [esi + edi]
cmp eax, ebx
jne 0x4e13cd
mov ecx, dword [esp + 0x6c]
push dword [esp + 0xc]
mov edx, dword [esp + 0x34]
lea ecx, [esi + ecx]
call fcn.004dc690
add esp, 4
add esi, eax
mov ebx, dword [esp + 0x1c]
lea edi, [esi + 4]
mov esi, dword [esp + 0x70]
mov eax, esi
sub eax, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x60], eax
lea ecx, [ebx + 0xc]
mov eax, dword [esp + 0xc]
add eax, 0xffffffe0
mov dword [esp + 0x58], ecx
cmp esi, eax
mov eax, dword [esp + 0x60]
ja 0x4e145d
mov ebx, dword [ecx]
movups xmm0, xmmword [edx]
movups xmmword [ebx], xmm0
mov ebx, dword [esp + 0x1c]
cmp eax, 0x10
jbe 0x4e1474
mov ecx, dword [ecx]
add eax, 0xfffffff0
movups xmm0, xmmword [edx + 0x10]
add ecx, 0x10
lea ebx, [ecx + eax]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x1c]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x4e1470
mov eax, dword [esp + 0x70]
add ecx, 0x10
add edx, 0x20
nop
movups xmm0, xmmword [edx]
lea edx, [edx + 0x20]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx - 0x10]
movups xmmword [ecx + 0x10], xmm0
add ecx, 0x20
cmp ecx, eax
jb 0x4e1440
lea ecx, [ebx + 0xc]
jmp 0x4e1474
mov eax, dword [esp + 0xc]
mov ecx, dword [ecx]
add eax, 0xffffffe0
push eax
push esi
call fcn.004dc620
add esp, 8
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
add dword [ecx], edx
cmp edx, 0xffff
jbe 0x4e1494
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 3
mov dword [ebx + 0x24], 1
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 4]
mov word [eax + 4], dx
mov eax, dword [ebx + 4]
mov dword [eax], 1
jmp 0x4e1958
cmp edx, dword [esp + 0x10]
jbe 0x4e1663
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + edx]
cmp eax, dword [esi]
jne 0x4e1663
mov eax, dword [ecx + edx + 4]
cmp eax, dword [esi + 4]
jne 0x4e1663
cmp edx, dword [esp + 0x18]
lea edi, [ecx + 8]
mov eax, dword [esp + 0x30]
cmovb eax, dword [esp + 0x64]
mov ebx, dword [esp + 0xc]
cmovb ebx, dword [esp + 0x50]
add edi, edx
mov ecx, dword [esp + 0xc]
mov edx, edi
mov dword [esp + 0x68], eax
lea eax, [esi + 8]
sub eax, edi
add eax, ebx
cmp eax, ecx
cmovb ecx, eax
push ecx
lea ecx, [esi + 8]
call fcn.004dc690
mov ecx, eax
add esp, 4
mov dword [esp + 0x70], ecx
lea eax, [ecx + edi]
cmp eax, ebx
jne 0x4e1534
push dword [esp + 0xc]
mov edx, dword [esp + 0x34]
lea eax, [esi + 8]
add ecx, eax
call fcn.004dc690
mov ecx, dword [esp + 0x74]
add esp, 4
add ecx, eax
mov ebx, dword [esp + 0x74]
lea edi, [ecx + 8]
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x40]
add ecx, ebx
mov edx, dword [esp + 0x20]
sub eax, ebx
cmp dword [esp + 0x68], ecx
mov dword [esp + 0x5c], eax
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
test eax, ecx
je 0x4e158e
add ebx, dword [esp + 0x60]
lea eax, [esi - 1]
mov dword [esp + 0x74], eax
lea ecx, [ebx - 1]
mov al, byte [eax]
mov ebx, ecx
cmp al, byte [ecx]
jne 0x4e158e
mov esi, dword [esp + 0x74]
inc edi
cmp dword [esp + 0x68], ebx
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
test eax, ecx
jne 0x4e1565
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
mov eax, esi
sub eax, edx
lea ecx, [ebx + 0xc]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xc]
add eax, 0xffffffe0
mov dword [esp + 0x58], ecx
cmp esi, eax
mov eax, dword [esp + 0x60]
ja 0x4e1623
mov ebx, dword [ecx]
movups xmm0, xmmword [edx]
movups xmmword [ebx], xmm0
mov ebx, dword [esp + 0x1c]
cmp eax, 0x10
jbe 0x4e163a
mov ecx, dword [ecx]
add eax, 0xfffffff0
movups xmm0, xmmword [edx + 0x10]
add ecx, 0x10
lea ebx, [ecx + eax]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x1c]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x4e1636
mov eax, dword [esp + 0x74]
add ecx, 0x10
add edx, 0x20
movups xmm0, xmmword [edx]
lea edx, [edx + 0x20]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx - 0x10]
movups xmmword [ecx + 0x10], xmm0
add ecx, 0x20
cmp ecx, eax
jb 0x4e1606
lea ecx, [ebx + 0xc]
jmp 0x4e163a
mov eax, dword [esp + 0xc]
mov ecx, dword [ecx]
add eax, 0xffffffe0
push eax
push esi
call fcn.004dc620
add esp, 8
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
add dword [ecx], edx
cmp edx, 0xffff
jbe 0x4e165a
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 3
mov dword [ebx + 0x24], 1
mov dword [ebx + 0x28], eax
mov ecx, dword [esp + 0x5c]
jmp 0x4e1949
mov ebx, dword [esp + 0x68]
cmp ebx, dword [esp + 0x10]
jbe 0x4e1d1c
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx + ebx]
cmp eax, dword [esi]
jne 0x4e1d1c
push 0xcf1bbcdc
lea ebx, [esi + 1]
push 0xb7a56463
push dword [ebx + 4]
mov dword [esp + 0x7c], ebx
push dword [ebx]
call fcn.00525430
mov ecx, dword [esp + 0x54]
call fcn.00525010
mov ecx, dword [esp + 0x44]
mov edx, dword [ecx + eax*4]
lea ecx, [ecx + eax*4]
cmp edx, dword [esp + 0x18]
mov edi, dword [esp + 0x2c]
cmovb edi, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
add edi, edx
inc eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x58], edi
mov dword [ecx], eax
cmp edx, dword [esp + 0x10]
jbe 0x4e17b2
mov eax, dword [edi]
cmp eax, dword [ebx]
jne 0x4e17b2
mov eax, dword [edi + 4]
cmp eax, dword [ebx + 4]
jne 0x4e17b2
cmp edx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov ebx, ecx
cmovb ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x30]
cmovb eax, dword [esp + 0x64]
add esi, 9
mov dword [esp + 0x60], eax
add edi, 8
mov eax, esi
mov dword [esp + 0x74], esi
sub eax, edi
mov edx, edi
add eax, ebx
cmp eax, ecx
cmovb ecx, eax
push ecx
mov ecx, esi
call fcn.004dc690
mov esi, eax
add esp, 4
lea eax, [esi + edi]
cmp eax, ebx
jne 0x4e174c
mov ecx, dword [esp + 0x74]
push dword [esp + 0xc]
mov edx, dword [esp + 0x34]
lea ecx, [esi + ecx]
call fcn.004dc690
add esp, 4
add esi, eax
mov eax, dword [esp + 0x40]
lea edi, [esi + 8]
sub eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x58]
inc eax
cmp dword [esp + 0x60], ebx
mov esi, dword [esp + 0x70]
mov edx, dword [esp + 0x20]
sbb ecx, ecx
neg ecx
mov dword [esp + 0x68], eax
cmp edx, esi
sbb eax, eax
neg eax
test eax, ecx
je 0x4e1879
nop
lea eax, [esi - 1]
mov dword [esp + 0x74], eax
lea ecx, [ebx - 1]
mov al, byte [eax]
mov ebx, ecx
cmp al, byte [ecx]
jne 0x4e1879
mov esi, dword [esp + 0x74]
inc edi
cmp dword [esp + 0x60], ebx
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
test eax, ecx
jne 0x4e1780
jmp 0x4e1879
mov ecx, dword [esp + 0x68]
cmp ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
mov ebx, edx
cmovb ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x30]
lea edi, [ecx + 4]
cmovb eax, dword [esp + 0x64]
mov ecx, edx
add edi, dword [esp + 0x5c]
mov dword [esp + 0x60], eax
lea eax, [esi + 4]
sub eax, edi
add eax, ebx
cmp eax, edx
mov edx, edi
cmovb ecx, eax
push ecx
lea ecx, [esi + 4]
call fcn.004dc690
mov ecx, eax
add esp, 4
mov dword [esp + 0x74], ecx
lea eax, [ecx + edi]
cmp eax, ebx
jne 0x4e181d
push dword [esp + 0xc]
mov edx, dword [esp + 0x34]
lea eax, [esi + 4]
add ecx, eax
call fcn.004dc690
mov ecx, dword [esp + 0x78]
add esp, 4
add ecx, eax
mov ebx, dword [esp + 0x68]
lea edi, [ecx + 4]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
sub eax, ebx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x5c]
add eax, ebx
cmp dword [esp + 0x60], eax
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
test eax, ecx
je 0x4e1879
add ebx, dword [esp + 0x5c]
nop
lea eax, [esi - 1]
mov dword [esp + 0x74], eax
lea ecx, [ebx - 1]
mov al, byte [eax]
mov ebx, ecx
cmp al, byte [ecx]
jne 0x4e1879
mov esi, dword [esp + 0x74]
inc edi
cmp dword [esp + 0x60], ebx
sbb ecx, ecx
neg ecx
cmp edx, esi
sbb eax, eax
neg eax
test eax, ecx
jne 0x4e1850
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x28], eax
mov eax, esi
sub eax, edx
lea ecx, [ebx + 0xc]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xc]
add eax, 0xffffffe0
mov dword [esp + 0x5c], ecx
cmp esi, eax
mov eax, dword [esp + 0x58]
ja 0x4e190e
mov ebx, dword [ecx]
movups xmm0, xmmword [edx]
movups xmmword [ebx], xmm0
mov ebx, dword [esp + 0x1c]
cmp eax, 0x10
jbe 0x4e1925
mov ecx, dword [ecx]
add eax, 0xfffffff0
movups xmm0, xmmword [edx + 0x10]
add ecx, 0x10
lea ebx, [ecx + eax]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x1c]
movups xmmword [ecx], xmm0
cmp eax, 0x10
jle 0x4e1921
mov eax, dword [esp + 0x74]
add ecx, 0x10
add edx, 0x20
movups xmm0, xmmword [edx]
lea edx, [edx + 0x20]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [edx - 0x10]
movups xmmword [ecx + 0x10], xmm0
add ecx, 0x20
cmp ecx, eax
jb 0x4e18f1
lea ecx, [ebx + 0xc]
jmp 0x4e1925
mov eax, dword [esp + 0xc]
mov ecx, dword [ecx]
add eax, 0xffffffe0
push eax
push esi
call fcn.004dc620
add esp, 8
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
add dword [ecx], edx
cmp edx, 0xffff
jbe 0x4e1945
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 3
mov dword [ebx + 0x24], 1
mov dword [ebx + 0x28], eax
mov ecx, dword [esp + 0x68]
mov eax, dword [ebx + 4]
add ecx, 3
mov word [eax + 4], dx
mov eax, dword [ebx + 4]
mov dword [eax], ecx
lea ecx, [edi - 3]
cmp ecx, 0xffff
jbe 0x4e1975
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 3
mov dword [ebx + 0x24], 2
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 4]
add esi, edi
mov edi, esi
mov dword [esp + 0x20], edi
mov word [eax + 6], cx
add dword [ebx + 4], 8
mov eax, dword [esp + 0x48]
cmp esi, eax
ja 0x4e1d2c
mov ebx, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
add ebx, 2
push 0xcf1bbcdc
push 0xb7a56463
push dword [ebx + eax + 4]
push dword [ebx + eax]
call fcn.00525430
mov ecx, dword [esp + 0x54]
call fcn.00525010
mov ecx, dword [esp + 0x44]
push 0xcf1bbcdc
push 0xb7a56463
mov dword [ecx + eax*4], ebx
push dword [esi + 2]
push dword [esi - 2]
call fcn.00525430
mov ecx, dword [esp + 0x54]
call fcn.00525010
mov edx, dword [esp + 0x2c]
mov ecx, eax
mov edi, dword [esp + 0x44]
mov eax, esi
sub eax, edx
mov dword [esp + 0x74], eax
add eax, 0xfffffffe
mov dword [edi + ecx*4], eax
mov edi, esi
mov eax, dword [esp + 0x34]
cmp eax, 4
ja case.0x4e1a0a.0
jmp dword [eax*4 + 0x4e1d70]
push 0xcf1bbcdc
push 0xbb000000
push dword [ebx + edx + 4]
push dword [ebx + edx]
call fcn.00525430
mov ecx, dword [esp + 0x14]
call fcn.00525010
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x34]
jmp switch.0x004e1af1
push 0xcf1bbcdc
push 0xbf9b0000
push dword [ebx + edx + 4]
push dword [ebx + edx]
call fcn.00525430
mov ecx, dword [esp + 0x14]
call fcn.00525010
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x34]
jmp switch.0x004e1af1
push 0xcf1bbcdc
push 0xbfa56300
push dword [ebx + edx + 4]
push dword [ebx + edx]
call fcn.00525430
mov ecx, dword [esp + 0x14]
call fcn.00525010
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x34]
jmp switch.0x004e1af1
push 0xcf1bbcdc
push 0xb7a56463
push dword [ebx + edx + 4]
push dword [ebx + edx]
call fcn.00525430
mov ecx, dword [esp + 0x14]
call fcn.00525010
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x34]
jmp switch.0x004e1af1
imul eax, dword [ebx + edx], 0x9e3779b1
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x24]
shr eax, cl
mov dword [edx + eax*4], ebx
mov eax, dword [esp + 0x34]
cmp eax, 4
ja case.0x4e1af1.0
jmp dword [eax*4 + 0x4e1d84]
push 0xcf1bbcdc
push 0xbb000000
push dword [esi + 3]
push dword [esi - 1]
call fcn.00525430
mov ecx, dword [esp + 0x14]
call fcn.00525010
mov edx, eax
jmp 0x4e1b47
push 0xcf1bbcdc
push 0xbf9b0000
jmp 0x4e1b02
push 0xcf1bbcdc
push 0xbfa56300
jmp 0x4e1b02
push 0xcf1bbcdc
push 0xb7a56463
jmp 0x4e1b02
imul edx, dword [esi - 1], 0x9e3779b1
shr edx, cl
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x74]
dec eax
mov dword [ecx + edx*4], eax
mov eax, dword [esp + 0xc]
add eax, 0xffffffe0
mov dword [esp + 0x70], eax
nop
mov ebx, dword [esp + 0x2c]
mov eax, esi
mov ecx, dword [esp + 0x4c]
sub eax, ebx
mov edx, eax
mov dword [esp + 0x6c], eax
sub edx, ecx
cmp edx, dword [esp + 0x18]
jae 0x4e1b7e
mov ebx, dword [esp + 0x38]
sub eax, dword [esp + 0x10]
add ebx, edx
cmp eax, ecx
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0x18]
sbb ecx, ecx
sub eax, edx
dec eax
inc ecx
cmp eax, 3
sbb eax, eax
inc eax
test eax, ecx
je 0x4e1d26
mov eax, dword [ebx]
cmp eax, dword [esi]
jne 0x4e1d26
cmp edx, dword [esp + 0x18]
lea eax, [esi + 4]
mov ecx, dword [esp + 0xc]
mov ebx, ecx
cmovb ebx, dword [esp + 0x50]
mov edi, dword [esp + 0x68]
add edi, 4
sub eax, edi
mov edx, edi
add eax, ebx
cmp eax, ecx
cmovb ecx, eax
push ecx
lea ecx, [esi + 4]
call fcn.004dc690
mov ecx, eax
add esp, 4
mov dword [esp + 0x74], ecx
lea eax, [ecx + edi]
cmp eax, ebx
jne 0x4e1c04
push dword [esp + 0xc]
mov edx, dword [esp + 0x34]
lea eax, [esi + 4]
add ecx, eax
call fcn.004dc690
mov ecx, dword [esp + 0x78]
add esp, 4
add ecx, eax
mov eax, dword [esp + 0x4c]
lea edi, [ecx + 4]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x74], edi
cmp esi, eax
ja 0x4e1c32
movups xmm0, xmmword [esi]
movups xmmword [ecx], xmm0
jmp 0x4e1c3e
push eax
push esi
mov edx, esi
call fcn.004dc620
add esp, 8
mov eax, dword [ebx + 4]
xor ecx, ecx
mov word [eax + 4], cx
lea ecx, [edi - 3]
mov eax, dword [ebx + 4]
mov dword [eax], 1
cmp ecx, 0xffff
jbe 0x4e1c6d
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
sar eax, 3
mov dword [ebx + 0x24], 2
mov dword [ebx + 0x28], eax
mov eax, dword [ebx + 4]
mov word [eax + 6], cx
add dword [ebx + 4], 8
mov eax, dword [esp + 0x34]
cmp eax, 4
ja case.0x4e1c81.0
jmp dword [eax*4 + 0x4e1d98]
push 0xcf1bbcdc
push 0xbb000000
push dword [esi + 4]
push dword [esi]
call fcn.00525430
mov ecx, dword [esp + 0x14]
call fcn.00525010
jmp 0x4e1cd7
push 0xcf1bbcdc
push 0xbf9b0000
jmp 0x4e1c92
push 0xcf1bbcdc
push 0xbfa56300
jmp 0x4e1c92
push 0xcf1bbcdc
push 0xb7a56463
jmp 0x4e1c92
imul eax, dword [esi], 0x9e3779b1
mov ecx, dword [esp + 0x3c]
shr eax, cl
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x6c]
push 0xcf1bbcdc
push 0xb7a56463
mov dword [ecx + eax*4], edi
push dword [esi + 4]
push dword [esi]
call fcn.00525430
mov ecx, dword [esp + 0x54]
call fcn.00525010
mov ecx, dword [esp + 0x44]
add esi, dword [esp + 0x74]
mov dword [ecx + eax*4], edi
mov edi, esi
mov dword [esp + 0x20], edi
cmp esi, dword [esp + 0x48]
jbe 0x4e1b60
jmp 0x4e1d3e
mov eax, esi
sub eax, edi
sar eax, 8
inc eax
add esi, eax
mov eax, dword [esp + 0x48]
cmp esi, eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x14]
jb 0x4e1250
mov eax, dword [esp + 0x4c]
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0x28]
mov dword [edx + 4], eax
mov eax, dword [esp + 0xc]
sub eax, edi
mov dword [edx], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret