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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x9c
mov esi, dword [esp + 0xbc]
mov eax, dword [esp + 0xb0]
xor edi, edi
test eax, eax
cmovg edi, eax
add edi, edx
mov dword [esp + 0x68], edi
mov ebp, dword [ecx + 0x7578]
mov dword [esp + 0x64], ebp
mov dword [esp + 0x5c], ecx
mov ecx, dword [ecx + 0x760c]
mov dword [esp + 0x60], ecx
test esi, esi
je 0x4d1e7a
mov ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0xb8]
mov eax, dword [ecx + 0x74b0]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 0x74b4]
mov dword [esp + 0x70], eax
mov eax, dword [ecx + 0x74b8]
mov dword [esp + 0x6c], eax
mov dword [ecx + 0x750c], 1
mov eax, dword [ecx + 0x6834]
mov dword [esp + 0x58], eax
movsd xmm0, qword [ecx + 0x682c]
movsd qword [esp + 0x50], xmm0
test ebp, ebp
je 0x4d359d
mov edi, dword [esp + 0xb4]
mov dword [esp + 0x30], edi
lea ebx, [edi + 4]
mov dword [esp + 0x34], ebx
cmp ebp, 4
mov dword [esp + 0x14], edx
jb 0x4d1ec6
lea ecx, [edi + ebp]
add ecx, 0xfffffffc
mov dword [esp + 0x2c], ecx
mov eax, dword [edi + ebp - 4]
mov dword [esp + 0x24], eax
cmp eax, 0x1000000
jb 0x4d359d
cmp ebp, 0xffffff88
ja 0x4d359d
mov dword [esp + 4], ebx
mov dword [esp + 0x1c], esi
add ebp, 0xfffffffc
mov ecx, eax
shr ecx, 0x18
bsr ebx, ecx
not ebx
add ebx, 9
jmp 0x4d1f16
mov ebx, edx
mov eax, dword [esp + 0x5c]
cmp dword [eax + 0x7610], 2
jne 0x4d2972
mov edi, dword [esp + 0x60]
sub edi, ebp
mov ecx, dword [esp + 0x68]
sub ecx, ebx
mov eax, 0xffffffba
cmp edi, ecx
ja 0x4d35a9
test ebx, ebx
je 0x4d2953
mov esi, edi
push esi
push ebp
push ebx
mov esi, edx
call fcn.004f8d88
mov edx, esi
add esp, 0xc
add ebx, edi
jmp 0x4d2955
mov dword [esp + 0x2c], edi
movzx eax, byte [edi]
mov dword [esp + 0x24], eax
cmp ebp, 2
je 0x4d1ee4
cmp ebp, 3
jne 0x4d1ef1
movzx ecx, byte [edi + 2]
shl ecx, 0x10
or eax, ecx
movzx ecx, byte [edi + 1]
shl ecx, 8
add eax, ecx
mov dword [esp + 0x24], eax
movzx ecx, byte [edi + ebp - 1]
test ecx, ecx
je 0x4d359d
mov dword [esp + 4], ebx
mov dword [esp + 0x1c], esi
bsr ebx, ecx
xor ebx, 0x1f
shl ebp, 3
sub ebx, ebp
add ebx, 9
xor ebp, ebp
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx]
mov edi, dword [edx + 4]
add ebx, edi
mov ecx, ebx
neg cl
mov esi, eax
shr esi, cl
and esi, dword [edi*4 + 0x851948]
mov dword [esp + 0x38], esi
cmp ebx, 0x21
jae 0x4d35cd
mov ecx, dword [esp + 0xb4]
lea edi, [ecx + ebp]
cmp ebp, 4
jge 0x4d1f74
test ebp, ebp
je 0x4d29af
mov eax, ebx
shr eax, 3
mov ecx, edi
sub ecx, eax
cmp ecx, dword [esp + 0xb4]
cmovb eax, ebp
sub edi, eax
mov dword [esp + 0x2c], edi
shl eax, 3
sub ebx, eax
jmp 0x4d1f82
mov eax, ebx
shr eax, 3
sub edi, eax
mov dword [esp + 0x2c], edi
and ebx, 7
mov dword [esp + 0x28], ebx
mov eax, dword [edi]
mov dword [esp + 0x24], eax
add edx, 8
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 8]
mov esi, dword [edx + 4]
add ebx, esi
mov ecx, ebx
neg cl
mov ebp, eax
shr ebp, cl
and ebp, dword [esi*4 + 0x851948]
mov dword [esp + 0x40], ebp
cmp ebx, 0x21
jae 0x4d35df
cmp edi, dword [esp + 4]
jae 0x4d1fe9
mov ecx, edi
mov ebp, dword [esp + 0xb4]
sub ecx, ebp
je 0x4d1ffd
mov eax, ebx
shr eax, 3
mov esi, edi
sub esi, eax
cmp esi, ebp
cmovb eax, ecx
sub edi, eax
mov dword [esp + 0x2c], edi
shl eax, 3
sub ebx, eax
jmp 0x4d1ff7
mov eax, ebx
shr eax, 3
sub edi, eax
mov dword [esp + 0x2c], edi
and ebx, 7
mov eax, dword [edi]
mov dword [esp + 0x24], eax
add edx, 8
mov dword [esp + 0x44], edx
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + 4]
mov esi, dword [edx + 4]
add ebx, esi
mov ecx, ebx
neg cl
shr eax, cl
and eax, dword [esi*4 + 0x851948]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x48], eax
cmp ebx, 0x21
jae 0x4d35f1
cmp edi, dword [esp + 4]
jae 0x4d205c
mov ecx, edi
mov ebp, dword [esp + 0xb4]
sub ecx, ebp
je 0x4d2074
mov eax, ebx
shr eax, 3
mov esi, edi
sub esi, eax
cmp esi, ebp
cmovb eax, ecx
sub edi, eax
mov dword [esp + 0x2c], edi
shl eax, 3
sub ebx, eax
jmp 0x4d206a
mov eax, ebx
shr eax, 3
sub edi, eax
mov dword [esp + 0x2c], edi
and ebx, 7
mov dword [esp + 0x28], ebx
mov eax, dword [edi]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x5c]
add eax, 0x682c
mov dword [esp + 0x98], eax
add edx, 8
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x20]
lea ecx, [eax + 0x10]
mov dword [esp + 0x90], ecx
add eax, 0x18
mov dword [esp + 0x8c], eax
mov ebx, dword [esp + 0x14]
nop word [eax + eax]
mov dword [esp], ebx
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov esi, dword [edi + edx*8 + 4]
movzx ebx, byte [edi + edx*8 + 2]
mov dword [esp + 8], ebx
movzx ebx, word [edi + edx*8]
mov dword [esp + 0x84], ebx
movzx edx, byte [edi + edx*8 + 3]
mov dword [esp + 0x78], edx
mov edx, dword [eax + ecx*8 + 4]
mov dword [esp + 0x10], edx
movzx ebx, byte [eax + ecx*8 + 2]
movzx edx, word [eax + ecx*8]
mov dword [esp + 0x80], edx
movzx eax, byte [eax + ecx*8 + 3]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov ebp, dword [eax + ecx*8 + 4]
movzx edx, byte [eax + ecx*8 + 2]
movzx edi, word [eax + ecx*8]
mov dword [esp + 0xc], edi
movzx eax, byte [eax + ecx*8 + 3]
mov dword [esp + 0x88], eax
cmp edx, 2
mov dword [esp + 4], esi
jb 0x4d21c0
cmp dword [esp + 0xc0], 0
je 0x4d21f0
cmp dl, 0x19
jb 0x4d21f0
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], edi
mov ecx, eax
shl edi, cl
mov cl, 5
sub cl, dl
shr edi, cl
lea ecx, [edx + eax]
add ecx, 0xfffffffb
cmp ecx, 0x21
jae 0x4d28cc
mov esi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x34]
jae 0x4d2262
mov eax, dword [esp + 0x30]
mov edx, esi
sub edx, eax
je 0x4d235e
mov dword [esp + 0x18], ebp
mov ebp, ecx
shr ebp, 3
mov dword [esp + 0x74], eax
mov eax, esi
sub eax, ebp
cmp eax, dword [esp + 0x74]
cmovb ebp, edx
sub esi, ebp
mov dword [esp + 0x2c], esi
shl ebp, 3
sub ecx, ebp
mov ebp, dword [esp + 0x18]
jmp 0x4d2270
xor eax, eax
test esi, esi
sete al
test edx, edx
jne 0x4d2367
xor ecx, ecx
test esi, esi
setne cl
mov esi, dword [esp + eax*4 + 0x50]
lea eax, [esp + 0x50]
lea ecx, [eax + ecx*4]
jmp 0x4d2299
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, eax
shl esi, cl
mov ecx, edx
neg cl
shr esi, cl
add eax, edx
mov dword [esp + 0x28], eax
add esi, ebp
cmp eax, 0x21
jae 0x4d289d
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x34]
jae 0x4d2248
mov edi, dword [esp + 0x30]
mov edx, ecx
sub edx, edi
je 0x4d228d
mov dword [esp + 0x18], edi
mov edi, eax
shr edi, 3
mov ebp, ecx
sub ebp, edi
cmp ebp, dword [esp + 0x18]
cmovb edi, edx
sub ecx, edi
mov dword [esp + 0x2c], ecx
shl edi, 3
sub eax, edi
jmp 0x4d2256
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x2c], ecx
and eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
jmp 0x4d228d
mov edx, ecx
shr edx, 3
sub esi, edx
mov dword [esp + 0x2c], esi
and ecx, 7
mov dword [esp + 0x28], ecx
mov esi, dword [esi]
mov dword [esp + 0x24], esi
shl edi, 5
add edi, ebp
shl esi, cl
shr esi, 0x1b
add esi, edi
add ecx, 5
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x54]
mov dword [esp + 0x58], eax
lea ecx, [esp + 0x50]
mov eax, dword [ecx]
mov dword [esp + 0x54], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x50], esi
test ebx, ebx
je 0x4d22c7
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, eax
shl edx, cl
mov ecx, ebx
neg cl
shr edx, cl
add eax, ebx
mov dword [esp + 0x28], eax
add dword [esp + 0x10], edx
mov esi, dword [esp + 4]
add ebx, dword [esp + 8]
cmp ebx, 0x14
mov ebx, dword [esp]
jb 0x4d2338
mov eax, dword [esp + 0x28]
cmp eax, 0x21
jae 0x4d239c
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x34]
jae 0x4d2320
mov edi, dword [esp + 0x30]
mov edx, ecx
sub edx, edi
je 0x4d2338
mov ebp, esi
mov esi, eax
shr esi, 3
mov ebx, ecx
sub ebx, esi
cmp ebx, edi
mov ebx, dword [esp]
cmovb esi, edx
sub ecx, esi
mov dword [esp + 0x2c], ecx
shl esi, 3
sub eax, esi
mov esi, ebp
jmp 0x4d232e
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x2c], ecx
and eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
mov ebp, ebx
mov ebx, dword [esp + 8]
test ebx, ebx
je 0x4d23b0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, eax
shl edx, cl
mov ecx, ebx
neg cl
shr edx, cl
add eax, ebx
mov dword [esp + 0x28], eax
add esi, edx
jmp 0x4d23b4
mov esi, dword [esp + 0x18]
jmp 0x4d227a
add ebp, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
shl eax, cl
shr eax, 0x1f
inc ecx
mov dword [esp + 0x28], ecx
add eax, ebp
cmp eax, 3
jne 0x4d28aa
mov eax, dword [esp + 0x50]
dec eax
cmp eax, 1
mov esi, 0
sbb esi, esi
or esi, eax
jmp 0x4d228d
mov dword [esp + 0x2c], 0x8519c8
mov ebp, ebx
mov ebx, dword [esp + 8]
test ebx, ebx
jne 0x4d2342
nop
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x1c]
cmp eax, 0x21
mov dword [esp + 4], esi
mov ebx, ebp
jae 0x4d26f4
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x34]
jae 0x4d2430
mov esi, dword [esp + 0x30]
mov ecx, edx
sub ecx, esi
je 0x4d2405
mov edi, eax
shr edi, 3
mov ebx, edx
sub ebx, edi
cmp ebx, esi
mov ebx, dword [esp]
cmovb edi, ecx
sub edx, edi
mov dword [esp + 0x2c], edx
shl edi, 3
sub eax, edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov ecx, dword [edx]
mov dword [esp + 0x24], ecx
mov esi, dword [esp + 4]
cmp edi, 1
jne 0x4d244d
mov eax, dword [esp + 0x64]
lea ecx, [eax + esi]
mov edx, dword [esp + 0x5c]
mov edx, dword [edx + 0x760c]
cmp ecx, edx
jbe 0x4d2581
jmp 0x4d29c6
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x2c], edx
and eax, 7
mov dword [esp + 0x28], eax
mov ecx, dword [edx]
mov dword [esp + 0x24], ecx
cmp edi, 1
je 0x4d240e
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x78]
add eax, esi
mov ecx, eax
neg cl
mov edi, ebx
shr edi, cl
and edi, dword [esi*4 + 0x851948]
mov ebp, dword [esp + 0x7c]
add eax, ebp
mov ecx, eax
neg cl
mov esi, ebx
shr esi, cl
add edi, dword [esp + 0x84]
and esi, dword [ebp*4 + 0x851948]
mov dword [esp + 0x38], edi
add esi, dword [esp + 0x80]
mov dword [esp + 0x48], esi
cmp eax, 0x21
jae 0x4d278e
cmp edx, dword [esp + 0x34]
jae 0x4d24d0
mov esi, dword [esp + 0x30]
mov ecx, edx
sub ecx, esi
je 0x4d24e8
mov edi, eax
shr edi, 3
mov ebx, edx
sub ebx, edi
cmp ebx, esi
cmovb edi, ecx
sub edx, edi
mov dword [esp + 0x2c], edx
shl edi, 3
sub eax, edi
jmp 0x4d24de
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x2c], edx
and eax, 7
mov dword [esp + 0x28], eax
mov ebx, dword [edx]
mov dword [esp + 0x24], ebx
mov esi, dword [esp + 4]
mov edi, dword [esp + 0x88]
add eax, edi
mov ecx, eax
neg cl
shr ebx, cl
and ebx, dword [edi*4 + 0x851948]
add ebx, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebx
cmp eax, 0x21
jae 0x4d27a0
cmp edx, dword [esp + 0x34]
mov ebx, dword [esp]
jae 0x4d2550
mov edi, dword [esp + 0x30]
mov ecx, edx
sub ecx, edi
je 0x4d2568
mov esi, eax
shr esi, 3
mov ebx, edx
sub ebx, esi
cmp ebx, edi
mov ebx, dword [esp]
cmovb esi, ecx
sub edx, esi
mov dword [esp + 0x2c], edx
shl esi, 3
sub eax, esi
mov esi, dword [esp + 4]
jmp 0x4d255e
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x2c], edx
and eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [edx]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x64]
lea ecx, [eax + esi]
mov edx, dword [esp + 0x5c]
mov edx, dword [edx + 0x760c]
cmp ecx, edx
ja 0x4d29bb
lea edi, [ecx - 0x20]
cmp ecx, dword [esp + 0x60]
ja 0x4d26b5
mov edx, dword [esp + 0x10]
lea ebp, [esi + edx]
lea edx, [ebx + ebp]
cmp edx, edi
ja 0x4d26b5
mov edx, dword [esp + 0x68]
sub edx, ebx
lea esi, [ebp + 0x20]
cmp edx, esi
mov esi, dword [esp + 4]
jb 0x4d26b5
mov dword [esp + 8], ebp
mov edx, ebx
add ebx, esi
movups xmm0, xmmword [eax]
movups xmmword [edx], xmm0
cmp esi, 0x11
jae 0x4d270f
mov esi, ebx
mov ebp, dword [esp + 0x18]
sub esi, ebp
mov dword [esp + 0x64], ecx
mov ecx, ebx
mov edx, dword [esp + 0x20]
sub ecx, edx
cmp ecx, ebp
jae 0x4d2630
mov eax, ebx
sub eax, dword [esp + 0x70]
cmp eax, ebp
jb 0x4d359d
mov dword [esp + 4], ecx
sub esi, edx
mov edi, dword [esp + 0x6c]
lea eax, [edi + esi]
mov ebp, dword [esp + 0x10]
lea ecx, [eax + ebp]
cmp ecx, edi
jbe 0x4d2680
mov ecx, esi
neg ecx
push ecx
push eax
push ebx
call fcn.004f8d88
add esp, 0xc
sub ebx, esi
mov edi, esi
add edi, ebp
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 4]
jmp 0x4d2634
mov edi, dword [esp + 0x10]
cmp ebp, 0x10
jb 0x4d2753
movups xmm0, xmmword [esi]
movups xmmword [ebx], xmm0
cmp edi, 0x11
jl 0x4d268b
add edi, ebx
mov eax, 0x10
nop
movups xmm0, xmmword [esi + eax]
movups xmmword [ebx + eax], xmm0
movups xmm0, xmmword [esi + eax + 0x10]
movups xmmword [ebx + eax + 0x10], xmm0
lea ecx, [ebx + eax]
add ecx, 0x20
add eax, 0x20
cmp ecx, edi
jb 0x4d2650
jmp 0x4d268b
push ebp
push eax
push ebx
call fcn.004f8d88
add esp, 0xc
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp]
mov eax, dword [esp + 8]
cmp eax, 0xffffff88
ja 0x4d294a
add ebx, eax
dec edi
mov dword [esp + 0x1c], edi
jne 0x4d20b0
jmp 0x4d2d11
mov ecx, ebx
mov edx, dword [esp + 0x68]
push dword [esp + 0x6c]
push dword [esp + 0x74]
push dword [esp + 0x28]
push dword [esp + 0x6c]
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x28]
push esi
push edi
call fcn.004d4cb0
add esp, 0x24
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
cmp eax, 0xffffff88
jbe 0x4d26a3
jmp 0x4d294a
mov dword [esp + 0x2c], 0x8519c8
mov edx, 0x8519c8
cmp edi, 1
je 0x4d240e
jmp 0x4d244d
add esi, 0xfffffff0
movups xmm0, xmmword [eax + 0x10]
mov edx, dword [esp]
movups xmmword [edx + 0x10], xmm0
cmp esi, 0x11
jl 0x4d25cc
mov edx, dword [esp]
add edx, 0x20
xor esi, esi
movups xmm0, xmmword [eax + esi + 0x20]
movups xmmword [edx + esi], xmm0
movups xmm0, xmmword [eax + esi + 0x30]
movups xmmword [edx + esi + 0x10], xmm0
lea edi, [edx + esi]
add edi, 0x20
add esi, 0x20
cmp edi, ebx
jb 0x4d272e
jmp 0x4d25cc
cmp ebp, 7
mov dword [esp + 4], ecx
ja 0x4d27b0
movzx eax, byte [esi]
mov byte [ebx], al
movzx eax, byte [esi + 1]
mov byte [ebx + 1], al
movzx eax, byte [esi + 2]
mov byte [ebx + 2], al
movzx eax, byte [esi + 3]
mov byte [ebx + 3], al
mov eax, dword [ebp*4 + 0x8519cc]
mov ecx, dword [esi + eax]
add esi, eax
mov dword [ebx + 4], ecx
sub esi, dword [ebp*4 + 0x8519ec]
jmp 0x4d27b8
mov dword [esp + 0x2c], 0x8519c8
mov edx, 0x8519c8
jmp 0x4d24e8
mov dword [esp + 0x2c], 0x8519c8
mov ebx, dword [esp]
jmp 0x4d2568
movsd xmm0, qword [esi]
movsd qword [ebx], xmm0
cmp edi, 9
jb 0x4d268b
lea edx, [esi + 8]
lea ecx, [ebx + 8]
mov eax, ecx
sub eax, edx
mov dword [esp + 0x18], eax
lea eax, [ebx + edi]
mov dword [esp + 0xc], eax
cmp dword [esp + 0x18], 0xf
jg 0x4d28dd
mov edi, dword [esp + 0x10]
add edi, dword [esp + 0x20]
mov eax, dword [esp + 4]
cmp ebp, eax
mov ebx, eax
cmovb ebx, ebp
cmova eax, ebp
add ebx, edi
add ebx, eax
sub ebx, ebp
mov edi, dword [esp + 0x90]
add edi, eax
cmp ebx, edi
cmovbe ebx, edi
mov dword [esp + 4], eax
mov edi, dword [esp + 0x20]
add edi, eax
sub ebx, edi
add ebx, 0xfffffff7
cmp ebx, 0x18
jb 0x4d291a
cmp dword [esp + 0x18], 0x20
jb 0x4d291a
shr ebx, 3
inc ebx
mov dword [esp + 0x10], ebx
and ebx, 0xfffffffc
lea ecx, [ecx + ebx*8]
lea edx, [edx + ebx*8]
mov edi, dword [esp + 0x8c]
mov eax, dword [esp]
add edi, eax
mov ebp, dword [esp + 4]
sub ebp, eax
add ebp, edi
xor edi, edi
movups xmm0, xmmword [esi + edi*8 + 8]
movups xmm1, xmmword [esi + edi*8 + 0x18]
movups xmmword [ebp + edi*8 - 0x10], xmm0
movups xmmword [ebp + edi*8], xmm1
add edi, 4
cmp ebx, edi
jne 0x4d2855
cmp dword [esp + 0x10], ebx
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
jne 0x4d2926
mov edx, esi
mov ebx, dword [esp]
mov eax, dword [esp + 8]
cmp eax, 0xffffff88
jbe 0x4d26a3
jmp 0x4d294a
mov dword [esp + 0x2c], 0x8519c8
jmp 0x4d228d
mov ecx, dword [esp + eax*4 + 0x50]
cmp ecx, 1
mov esi, 0
sbb esi, esi
or esi, ecx
lea ecx, [esp + 0x50]
cmp eax, 1
jne 0x4d228d
jmp 0x4d2299
mov dword [esp + 0x2c], 0x8519c8
mov esi, dword [esp + 0x18]
jmp 0x4d227a
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
cmp edi, 0x19
jl 0x4d268b
add ebx, 0x18
xor ecx, ecx
mov eax, dword [esp + 0xc]
movups xmm0, xmmword [esi + ecx + 0x18]
movups xmmword [ebx + ecx], xmm0
movups xmm0, xmmword [esi + ecx + 0x28]
movups xmmword [ebx + ecx + 0x10], xmm0
lea edx, [ebx + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, eax
jb 0x4d28f5
jmp 0x4d268b
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp]
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
add ecx, 8
add edx, 8
cmp ecx, eax
jb 0x4d2929
mov edx, esi
mov eax, dword [esp + 8]
cmp eax, 0xffffff88
jbe 0x4d26a3
mov dword [esp + 8], eax
jmp 0x4d35a5
xor ebx, ebx
mov eax, dword [esp + 0x5c]
lea ebp, [eax + 0x7614]
mov dword [eax + 0x7610], 0
add eax, 0x17614
mov dword [esp + 0x60], eax
mov edi, dword [esp + 0x60]
sub edi, ebp
mov ecx, dword [esp + 0x68]
sub ecx, ebx
mov eax, 0xffffffba
cmp edi, ecx
ja 0x4d35a9
test ebx, ebx
je 0x4d29a6
mov esi, edi
push esi
push ebp
push ebx
mov esi, edx
call fcn.004f8d80
mov edx, esi
add esp, 0xc
add ebx, edi
mov eax, ebx
jmp 0x4d29a8
xor eax, eax
sub eax, edx
jmp 0x4d35a9
mov edi, dword [esp + 0xb4]
jmp 0x4d1f8c
cmp dword [esp + 0x1c], 0
jle 0x4d359d
mov ebp, edx
sub ebp, eax
je 0x4d2a53
mov ecx, dword [esp + 0x68]
sub ecx, ebx
mov dword [esp + 8], 0xffffffba
cmp ebp, ecx
ja 0x4d35a5
mov edi, ebx
sub edi, eax
add ebx, ebp
cmp edi, 0xfffffff8
mov dword [esp + 0xc], ebx
mov dword [esp + 0x60], ebp
jg 0x4d2a5e
cmp ebp, 7
jle 0x4d2a5e
cmp edi, 0xffffffef
ja 0x4d2af2
lea edx, [ebx - 0x20]
mov edi, edx
mov ebp, dword [esp]
sub edi, ebp
jb 0x4d2af5
movups xmm0, xmmword [eax]
movups xmmword [ebp], xmm0
cmp edi, 0x11
jl 0x4d2a48
mov ecx, 0x10
movups xmm0, xmmword [eax + ecx]
movups xmmword [ebp + ecx], xmm0
movups xmm0, xmmword [eax + ecx + 0x10]
movups xmmword [ebp + ecx + 0x10], xmm0
lea esi, [ecx + ebp]
add esi, 0x20
add ecx, 0x20
cmp esi, edx
jb 0x4d2a28
add eax, edi
mov esi, dword [esp + 4]
jmp 0x4d2af7
mov ecx, ebx
mov edi, dword [esp + 0x14]
jmp 0x4d2bab
test ebp, ebp
jle 0x4d2b9f
mov ebx, dword [esp]
add edx, ebx
sub edx, eax
lea ecx, [ebx + 1]
cmp edx, ecx
cmovbe edx, ecx
sub edx, ebx
cmp edx, 8
jb 0x4d2b8f
cmp edi, 0x20
jb 0x4d2b8b
xor edi, edi
cmp edx, 0x20
jb 0x4d2ac4
mov edi, edx
and edi, 0xffffffe0
xor ecx, ecx
movups xmm0, xmmword [eax + ecx]
movups xmm1, xmmword [eax + ecx + 0x10]
movups xmmword [ebx + ecx], xmm0
movups xmmword [ebx + ecx + 0x10], xmm1
add ecx, 0x20
cmp edi, ecx
jne 0x4d2a97
cmp edx, edi
je 0x4d2b9f
test dl, 0x18
je 0x4d35bf
mov ebx, dword [esp]
mov ecx, edx
and ecx, 0xfffffff8
mov esi, ebx
add ebx, ecx
lea ebp, [eax + ecx]
movsd xmm0, qword [eax + edi]
movsd qword [esi + edi], xmm0
add edi, 8
cmp ecx, edi
jne 0x4d2ad0
cmp edx, ecx
mov esi, dword [esp + 4]
jne 0x4d2b91
jmp 0x4d2b9f
mov ebp, dword [esp]
mov edx, ebp
add ebp, dword [esp + 0x60]
sub ebp, edx
mov dword [esp], ebp
cmp ebp, 8
jb 0x4d2b76
mov ecx, edx
sub ecx, eax
cmp ecx, 0x20
jb 0x4d2b76
xor edi, edi
mov esi, dword [esp]
cmp esi, 0x20
jb 0x4d2b4f
mov edi, esi
and edi, 0xffffffe0
xor ecx, ecx
mov ebx, esi
movups xmm0, xmmword [eax + ecx]
movups xmm1, xmmword [eax + ecx + 0x10]
movups xmmword [edx + ecx], xmm0
movups xmmword [edx + ecx + 0x10], xmm1
add ecx, 0x20
cmp edi, ecx
jne 0x4d2b21
cmp ebx, edi
mov esi, dword [esp + 4]
je 0x4d2b9f
test byte [esp], 0x18
je 0x4d35b4
mov esi, dword [esp]
mov ecx, esi
and ecx, 0xfffffff8
lea ebx, [edx + ecx]
lea ebp, [eax + ecx]
movsd xmm0, qword [eax + edi]
movsd qword [edx + edi], xmm0
add edi, 8
cmp ecx, edi
jne 0x4d2b5a
cmp dword [esp], ecx
mov esi, dword [esp + 4]
jne 0x4d2b7a
jmp 0x4d2b9f
mov ebx, edx
mov ebp, eax
add edx, dword [esp]
movzx eax, byte [ebp]
inc ebp
mov byte [ebx], al
inc ebx
cmp ebx, edx
jne 0x4d2b7d
jmp 0x4d2b9f
mov ebp, eax
jmp 0x4d2b91
mov ebp, eax
movzx eax, byte [ebp]
inc ebp
mov byte [ebx], al
inc ebx
cmp ebx, dword [esp + 0xc]
jb 0x4d2b91
sub esi, dword [esp + 0x60]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, esi
mov ebx, dword [esp + 0x5c]
lea esi, [ebx + 0x7614]
mov dword [esp + 0x64], esi
lea eax, [ebx + 0x17614]
mov dword [esp + 0x60], eax
mov dword [ebx + 0x7610], 0
mov eax, dword [esp + 0x68]
add eax, 0xffffffe0
mov dword [esp + 0x94], eax
mov ebx, edx
cmp edx, 0x10000
mov dword [esp + 0xc], ecx
jg 0x4d35fe
mov eax, dword [esp + 0x10]
lea ebp, [ebx + eax]
lea eax, [ecx + ebp]
cmp eax, dword [esp + 0x94]
ja 0x4d35fe
mov eax, dword [esp + 0x68]
sub eax, ecx
lea edx, [ebp + 0x20]
cmp eax, edx
jb 0x4d35fe
mov dword [esp + 8], ebp
mov edx, ebx
add ebx, ecx
mov eax, dword [esp + 0x5c]
add eax, edx
add eax, 0x7614
movups xmm0, xmmword [esi]
movups xmmword [ecx], xmm0
cmp edx, 0x11
jae 0x4d3631
mov esi, ebx
mov ecx, dword [esp + 0x18]
sub esi, ecx
mov dword [esp + 0x64], eax
mov eax, ebx
mov edx, dword [esp + 0x20]
sub eax, edx
cmp eax, ecx
jae 0x4d2c9b
mov dword [esp + 4], eax
mov eax, ebx
sub eax, dword [esp + 0x70]
cmp eax, ecx
jb 0x4d359d
sub esi, edx
mov ebp, dword [esp + 0x6c]
lea eax, [esi + ebp]
mov ecx, dword [esp + 0x10]
add ecx, eax
cmp ecx, ebp
jbe 0x4d2ce5
mov ebp, edx
mov ecx, esi
neg ecx
push ecx
push eax
push ebx
call fcn.004f8d88
add esp, 0xc
sub ebx, esi
mov edi, esi
add edi, dword [esp + 0x10]
mov esi, ebp
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 4]
jmp 0x4d2c9f
mov edi, dword [esp + 0x10]
cmp ecx, 0x10
jb 0x4d3688
movups xmm0, xmmword [esi]
movups xmmword [ebx], xmm0
cmp edi, 0x11
jl 0x4d2cdf
add edi, ebx
mov eax, 0x10
nop word [eax + eax]
movups xmm0, xmmword [esi + eax]
movups xmmword [ebx + eax], xmm0
movups xmm0, xmmword [esi + eax + 0x10]
movups xmmword [ebx + eax + 0x10], xmm0
lea ecx, [ebx + eax]
add ecx, 0x20
add eax, 0x20
cmp ecx, edi
jb 0x4d2cc0
mov edx, dword [esp + 0x14]
jmp 0x4d2cf5
push dword [esp + 0x10]
push eax
push ebx
call fcn.004f8d88
add esp, 0xc
mov edx, edi
mov eax, dword [esp + 8]
cmp eax, 0xffffff88
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xc]
ja 0x4d35a5
add ebx, eax
cmp ecx, 1
jne 0x4d2d65
mov eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x30]
jne 0x4d359d
cmp dword [esp + 0x28], 0x20
mov dword [esp + 8], 0xffffffec
jne 0x4d35a5
lea esi, [esp + 0x50]
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x98]
mov dword [ecx + 8], eax
movsd xmm0, qword [esi]
movsd qword [ecx], xmm0
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x5c]
cmp dword [eax + 0x7610], 2
je 0x4d1e8d
jmp 0x4d2972
dec ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], ecx
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
mov esi, dword [edi + edx*8 + 4]
movzx ebx, byte [edi + edx*8 + 2]
mov dword [esp + 8], ebx
movzx ebx, word [edi + edx*8]
mov dword [esp + 0x80], ebx
movzx edx, byte [edi + edx*8 + 3]
mov dword [esp + 0x74], edx
mov ebp, dword [eax + ecx*8 + 4]
movzx edx, byte [eax + ecx*8 + 2]
movzx edi, word [eax + ecx*8]
mov dword [esp + 0x7c], edi
movzx eax, byte [eax + ecx*8 + 3]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edi, dword [eax + ecx*8 + 4]
mov dword [esp + 0x18], edi
movzx ebx, byte [eax + ecx*8 + 2]
movzx edi, word [eax + ecx*8]
mov dword [esp + 0x88], edi
movzx eax, byte [eax + ecx*8 + 3]
mov dword [esp + 0x84], eax
cmp ebx, 2
mov dword [esp + 4], esi
jb 0x4d2e73
cmp dword [esp + 0xc0], 0
je 0x4d2e9d
cmp bl, 0x19
jb 0x4d2e9d
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov dword [esp], edi
mov ecx, eax
shl edi, cl
mov cl, 5
sub cl, bl
shr edi, cl
lea ecx, [ebx + eax]
add ecx, 0xfffffffb
cmp ecx, 0x21
jae 0x4d3554
mov esi, dword [esp + 0x2c]
cmp esi, dword [esp + 0x34]
jae 0x4d2f16
mov eax, dword [esp + 0x30]
mov ebx, esi
sub ebx, eax
je 0x4d32b3
mov dword [esp + 0x10], ebp
mov ebp, ecx
shr ebp, 3
mov dword [esp], eax
mov eax, esi
sub eax, ebp
cmp eax, dword [esp]
cmovb ebp, ebx
sub esi, ebp
mov dword [esp + 0x2c], esi
shl ebp, 3
sub ecx, ebp
mov ebp, dword [esp + 0x10]
jmp 0x4d2f24
xor eax, eax
test esi, esi
sete al
test ebx, ebx
jne 0x4d3384
xor ecx, ecx
test esi, esi
setne cl
mov esi, dword [esp + eax*4 + 0x50]
lea eax, [esp + 0x50]
lea ecx, [eax + ecx*4]
mov ebx, dword [esp + 0xc]
jmp 0x4d2f59
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, eax
shl esi, cl
mov ecx, ebx
neg cl
shr esi, cl
add eax, ebx
mov dword [esp + 0x28], eax
add esi, dword [esp + 0x18]
mov dword [esp], esi
cmp eax, 0x21
jae 0x4d3515
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x34]
jae 0x4d2efc
mov ebx, dword [esp + 0x30]
mov edi, ecx
sub edi, ebx
je 0x4d2f46
mov esi, eax
shr esi, 3
mov dword [esp + 0x10], ebp
mov ebp, ecx
sub ebp, esi
cmp ebp, ebx
mov ebp, dword [esp + 0x10]
cmovb esi, edi
sub ecx, esi
mov dword [esp + 0x2c], ecx
shl esi, 3
sub eax, esi
jmp 0x4d2f0a
mov esi, eax
shr esi, 3
sub ecx, esi
mov dword [esp + 0x2c], ecx
and eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
jmp 0x4d2f46
mov ebx, ecx
shr ebx, 3
sub esi, ebx
mov dword [esp + 0x2c], esi
and ecx, 7
mov dword [esp + 0x28], ecx
mov eax, dword [esi]
mov dword [esp + 0x24], eax
shl edi, 5
add edi, dword [esp + 0x18]
shl eax, cl
shr eax, 0x1b
add eax, edi
mov dword [esp], eax
add ecx, 5
mov dword [esp + 0x28], ecx
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x58], eax
lea ecx, [esp + 0x50]
mov esi, dword [esp]
mov eax, dword [ecx]
mov dword [esp + 0x54], eax
mov dword [esp], esi
mov dword [esp + 0x50], esi
test edx, edx
je 0x4d2f84
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, eax
shl edi, cl
mov ecx, edx
neg cl
shr edi, cl
add eax, edx
mov dword [esp + 0x28], eax
add ebp, edi
add edx, dword [esp + 8]
cmp edx, 0x14
jb 0x4d2fe5
mov eax, dword [esp + 0x28]
cmp eax, 0x21
jae 0x4d33c1
mov ecx, dword [esp + 0x2c]
cmp ecx, dword [esp + 0x34]
jae 0x4d2fcd
mov edi, dword [esp + 0x30]
mov edx, ecx
sub edx, edi
je 0x4d2fe5
mov esi, eax
shr esi, 3
mov ebx, ecx
sub ebx, esi
cmp ebx, edi
mov ebx, dword [esp + 0xc]
cmovb esi, edx
sub ecx, esi
mov dword [esp + 0x2c], ecx
shl esi, 3
sub eax, esi
jmp 0x4d2fdb
mov edx, eax
shr edx, 3
sub ecx, edx
mov dword [esp + 0x2c], ecx
and eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [ecx]
mov dword [esp + 0x24], eax
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 8]
test eax, eax
je 0x4d33d9
mov edx, dword [esp + 0x24]
mov esi, eax
mov eax, dword [esp + 0x28]
mov ecx, eax
shl edx, cl
mov ecx, esi
neg cl
shr edx, cl
add eax, esi
mov dword [esp + 0x28], eax
mov ebp, dword [esp + 4]
add ebp, edx
cmp eax, 0x21
mov dword [esp + 4], ebp
jae 0x4d33ee
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x34]
jae 0x4d3055
mov edi, dword [esp + 0x30]
mov ecx, edx
sub ecx, edi
je 0x4d306d
mov esi, eax
shr esi, 3
mov ebx, edx
sub ebx, esi
cmp ebx, edi
mov ebx, dword [esp + 0xc]
cmovb esi, ecx
sub edx, esi
mov dword [esp + 0x2c], edx
shl esi, 3
sub eax, esi
jmp 0x4d3063
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x2c], edx
and eax, 7
mov dword [esp + 0x28], eax
mov ecx, dword [edx]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x1c]
cmp ecx, 1
je 0x4d3180
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x74]
add eax, esi
mov ecx, eax
neg cl
mov edi, ebx
shr edi, cl
and edi, dword [esi*4 + 0x851948]
mov ebp, dword [esp + 0x78]
add eax, ebp
mov ecx, eax
neg cl
mov esi, ebx
shr esi, cl
add edi, dword [esp + 0x80]
and esi, dword [ebp*4 + 0x851948]
mov dword [esp + 0x38], edi
add esi, dword [esp + 0x7c]
mov dword [esp + 0x48], esi
cmp eax, 0x21
jae 0x4d340d
cmp edx, dword [esp + 0x34]
jae 0x4d30ef
mov edi, dword [esp + 0x30]
mov ecx, edx
sub ecx, edi
je 0x4d3107
mov esi, eax
shr esi, 3
mov ebx, edx
sub ebx, esi
cmp ebx, edi
cmovb esi, ecx
sub edx, esi
mov dword [esp + 0x2c], edx
shl esi, 3
sub eax, esi
jmp 0x4d30fd
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x2c], edx
and eax, 7
mov dword [esp + 0x28], eax
mov ebx, dword [edx]
mov dword [esp + 0x24], ebx
mov esi, dword [esp + 0x84]
add eax, esi
mov ecx, eax
neg cl
shr ebx, cl
and ebx, dword [esi*4 + 0x851948]
add ebx, dword [esp + 0x88]
mov dword [esp + 0x28], eax
mov dword [esp + 0x40], ebx
cmp eax, 0x21
jae 0x4d341f
cmp edx, dword [esp + 0x34]
mov ebx, dword [esp + 0xc]
jae 0x4d3168
mov edi, dword [esp + 0x30]
mov ecx, edx
sub ecx, edi
je 0x4d3180
mov esi, eax
shr esi, 3
mov ebx, edx
sub ebx, esi
cmp ebx, edi
mov ebx, dword [esp + 0xc]
cmovb esi, ecx
sub edx, esi
mov dword [esp + 0x2c], edx
shl esi, 3
sub eax, esi
jmp 0x4d3176
mov ecx, eax
shr ecx, 3
sub edx, ecx
mov dword [esp + 0x2c], edx
and eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [edx]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x64]
mov ebp, dword [esp + 4]
lea eax, [ecx + ebp]
cmp eax, dword [esp + 0x60]
ja 0x4d32bb
mov edx, dword [esp + 0x10]
lea esi, [edx + ebp]
lea edx, [ebx + esi]
cmp edx, dword [esp + 0x94]
ja 0x4d32bb
mov edx, dword [esp + 0x68]
sub edx, ebx
mov dword [esp + 8], esi
mov esi, dword [esp + 8]
add esi, 0x20
cmp edx, esi
jb 0x4d32bb
mov edx, ebx
add ebx, ebp
movups xmm0, xmmword [ecx]
movups xmmword [edx], xmm0
cmp ebp, 0x11
jae 0x4d32f9
mov esi, ebx
mov ecx, dword [esp]
sub esi, ecx
mov dword [esp + 0x64], eax
mov eax, ebx
mov edx, dword [esp + 0x20]
sub eax, edx
cmp eax, ecx
jae 0x4d3237
mov dword [esp + 4], eax
mov eax, ebx
sub eax, dword [esp + 0x70]
cmp eax, ecx
jb 0x4d359d
sub esi, edx
mov edi, dword [esp + 0x6c]
lea eax, [edi + esi]
mov ebp, dword [esp + 0x10]
lea ecx, [eax + ebp]
cmp ecx, edi
jbe 0x4d3281
mov ecx, esi
neg ecx
push ecx
push eax
push ebx
call fcn.004f8d88
add esp, 0xc
sub ebx, esi
mov edi, esi
add edi, ebp
mov esi, dword [esp + 0x20]
mov ecx, dword [esp]
mov eax, dword [esp + 4]
jmp 0x4d323b
mov edi, dword [esp + 0x10]
cmp ecx, 0x10
jb 0x4d333f
movups xmm0, xmmword [esi]
movups xmmword [ebx], xmm0
cmp edi, 0x11
jl 0x4d328c
add edi, ebx
mov eax, 0x10
nop word cs:[eax + eax]
movups xmm0, xmmword [esi + eax]
movups xmmword [ebx + eax], xmm0
movups xmm0, xmmword [esi + eax + 0x10]
movups xmmword [ebx + eax + 0x10], xmm0
lea ecx, [ebx + eax]
add ecx, 0x20
add eax, 0x20
cmp ecx, edi
jb 0x4d3260
jmp 0x4d328c
push ebp
push eax
push ebx
call fcn.004f8d88
add esp, 0xc
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 8]
cmp eax, 0xffffff88
mov ecx, dword [esp + 0x1c]
ja 0x4d294a
add ebx, eax
dec ecx
jne 0x4d2d66
jmp 0x4d2d11
mov eax, dword [esp]
jmp 0x4d2f2e
mov ecx, ebx
mov edx, dword [esp + 0x68]
push dword [esp + 0x6c]
push dword [esp + 0x74]
push dword [esp + 0x28]
push dword [esp + 0x6c]
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x14]
push dword [esp + 0x28]
push ebp
call fcn.004d4590
add esp, 0x20
mov edx, dword [esp + 0x14]
cmp eax, 0xffffff88
mov ecx, dword [esp + 0x1c]
jbe 0x4d32a5
jmp 0x4d294a
add ebp, 0xfffffff0
movups xmm0, xmmword [ecx + 0x10]
mov edx, dword [esp + 0xc]
movups xmmword [edx + 0x10], xmm0
cmp ebp, 0x11
jl 0x4d31d8
mov edx, dword [esp + 0xc]
add edx, 0x20
xor esi, esi
movups xmm0, xmmword [ecx + esi + 0x20]
movups xmmword [edx + esi], xmm0
movups xmm0, xmmword [ecx + esi + 0x30]
movups xmmword [edx + esi + 0x10], xmm0
lea edi, [edx + esi]
add edi, 0x20
add esi, 0x20
cmp edi, ebx
jb 0x4d331a
jmp 0x4d31d8
mov dword [esp + 4], eax
cmp ecx, 7
ja 0x4d3430
movzx eax, byte [esi]
mov byte [ebx], al
movzx eax, byte [esi + 1]
mov byte [ebx + 1], al
movzx eax, byte [esi + 2]
mov byte [ebx + 2], al
movzx eax, byte [esi + 3]
mov byte [ebx + 3], al
mov edx, dword [esp]
mov eax, dword [edx*4 + 0x8519cc]
mov ecx, dword [esi + eax]
add esi, eax
mov dword [ebx + 4], ecx
sub esi, dword [edx*4 + 0x8519ec]
jmp 0x4d3438
mov esi, dword [esp + 0x18]
add esi, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
shl eax, cl
shr eax, 0x1f
inc ecx
mov dword [esp + 0x28], ecx
add eax, esi
cmp eax, 3
jne 0x4d3522
mov eax, dword [esp + 0x50]
dec eax
cmp eax, 1
mov esi, 0
sbb esi, esi
or esi, eax
mov ebx, dword [esp + 0xc]
jmp 0x4d3543
mov dword [esp + 0x2c], 0x8519c8
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 8]
test eax, eax
jne 0x4d2ff5
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 4]
cmp eax, 0x21
mov dword [esp + 4], ebp
jb 0x4d3022
mov dword [esp + 0x2c], 0x8519c8
mov edx, 0x8519c8
mov ecx, dword [esp + 0x1c]
cmp ecx, 1
jne 0x4d307a
jmp 0x4d3180
mov dword [esp + 0x2c], 0x8519c8
mov edx, 0x8519c8
jmp 0x4d3107
mov dword [esp + 0x2c], 0x8519c8
mov ebx, dword [esp + 0xc]
jmp 0x4d3180
movsd xmm0, qword [esi]
movsd qword [ebx], xmm0
cmp edi, 9
jb 0x4d328c
lea edx, [esi + 8]
lea ecx, [ebx + 8]
mov ebp, ecx
sub ebp, edx
lea eax, [ebx + edi]
mov dword [esp + 0x18], ebp
cmp ebp, 0xf
jg 0x4d3564
mov edi, dword [esp + 0x10]
add edi, dword [esp + 0x20]
mov dword [esp + 0x10], edi
mov edi, dword [esp]
mov ebx, dword [esp + 4]
cmp edi, ebx
mov ebp, ebx
cmovb ebp, edi
cmova ebx, edi
add ebp, dword [esp + 0x10]
add ebp, ebx
sub ebp, edi
mov edi, dword [esp + 0x90]
add edi, ebx
cmp ebp, edi
cmovbe ebp, edi
mov dword [esp + 4], ebx
mov edi, dword [esp + 0x20]
add edi, ebx
sub ebp, edi
add ebp, 0xfffffff7
cmp ebp, 0x18
jb 0x4d34fe
cmp dword [esp + 0x18], 0x20
jb 0x4d34fe
mov ebx, ebp
shr ebx, 3
inc ebx
mov dword [esp], ebx
and ebx, 0xfffffffc
lea ecx, [ecx + ebx*8]
lea edx, [edx + ebx*8]
mov edi, dword [esp + 0x8c]
mov ebp, dword [esp + 0xc]
add edi, ebp
mov dword [esp + 0x10], edi
mov edi, ebp
mov ebp, dword [esp + 4]
sub ebp, edi
add ebp, dword [esp + 0x10]
xor edi, edi
movups xmm0, xmmword [esi + edi*8 + 8]
movups xmm1, xmmword [esi + edi*8 + 0x18]
movups xmmword [ebp + edi*8 - 0x10], xmm0
movups xmmword [ebp + edi*8], xmm1
add edi, 4
cmp ebx, edi
jne 0x4d34da
cmp dword [esp], ebx
je 0x4d328c
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
add ecx, 8
add edx, 8
cmp ecx, eax
jb 0x4d34fe
jmp 0x4d328c
mov dword [esp + 0x2c], 0x8519c8
jmp 0x4d2f46
mov ecx, dword [esp + eax*4 + 0x50]
cmp ecx, 1
mov esi, 0
sbb esi, esi
or esi, ecx
lea ecx, [esp + 0x50]
cmp eax, 1
mov ebx, dword [esp + 0xc]
je 0x4d2f59
mov eax, dword [esp + 0x54]
mov dword [esp + 0x58], eax
lea ecx, [esp + 0x50]
jmp 0x4d2f59
mov dword [esp + 0x2c], 0x8519c8
mov eax, dword [esp]
jmp 0x4d2f2e
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
cmp edi, 0x19
jl 0x4d328c
add ebx, 0x18
xor ecx, ecx
movups xmm0, xmmword [esi + ecx + 0x18]
movups xmmword [ebx + ecx], xmm0
movups xmm0, xmmword [esi + ecx + 0x28]
movups xmmword [ebx + ecx + 0x10], xmm0
lea edx, [ebx + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, eax
jb 0x4d3578
jmp 0x4d328c
mov dword [esp + 8], 0xffffffec
mov eax, dword [esp + 8]
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
add eax, edi
add edi, edx
mov ebx, edi
jmp 0x4d2b78
add eax, edi
mov ebx, dword [esp]
add ebx, edi
mov ebp, eax
jmp 0x4d2b91
mov dword [esp + 0x2c], 0x8519c8
mov edi, 0x8519c8
jmp 0x4d1f8c
mov dword [esp + 0x2c], 0x8519c8
mov edi, 0x8519c8
jmp 0x4d1ffd
mov dword [esp + 0x2c], 0x8519c8
jmp 0x4d2074
mov edx, dword [esp + 0x68]
push dword [esp + 0x6c]
push dword [esp + 0x74]
push dword [esp + 0x28]
push dword [esp + 0x6c]
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x28]
push ebx
call fcn.004d4590
add esp, 0x20
mov dword [esp + 8], eax
jmp 0x4d2cf3
add edx, 0xfffffff0
mov ecx, dword [esp + 0x5c]
movups xmm0, xmmword [ecx + 0x7624]
mov ecx, dword [esp + 0xc]
movups xmmword [ecx + 0x10], xmm0
cmp edx, 0x11
jl 0x4d2c39
mov ecx, dword [esp + 0xc]
add ecx, 0x20
xor edx, edx
mov esi, dword [esp + 0x5c]
movups xmm0, xmmword [esi + edx + 0x7634]
movups xmmword [ecx + edx], xmm0
movups xmm0, xmmword [esi + edx + 0x7644]
movups xmmword [ecx + edx + 0x10], xmm0
lea esi, [ecx + edx]
add esi, 0x20
add edx, 0x20
cmp esi, ebx
jb 0x4d3659
jmp 0x4d2c39
mov dword [esp + 4], eax
cmp ecx, 7
ja 0x4d36c7
movzx eax, byte [esi]
mov byte [ebx], al
movzx eax, byte [esi + 1]
mov byte [ebx + 1], al
movzx eax, byte [esi + 2]
mov byte [ebx + 2], al
movzx eax, byte [esi + 3]
mov byte [ebx + 3], al
mov edx, dword [esp + 0x18]
mov eax, dword [edx*4 + 0x8519cc]
mov ecx, dword [esi + eax]
add esi, eax
mov dword [ebx + 4], ecx
sub esi, dword [edx*4 + 0x8519ec]
jmp 0x4d36cf
movsd xmm0, qword [esi]
movsd qword [ebx], xmm0
cmp edi, 9
jb 0x4d2cdf
lea edx, [esi + 8]
lea ecx, [ebx + 8]
mov ebp, ecx
sub ebp, edx
lea eax, [ebx + edi]
mov dword [esp], ebp
cmp ebp, 0xf
jg 0x4d379b
mov edi, dword [esp + 0x10]
add edi, dword [esp + 0x20]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 4]
cmp edi, ebx
mov ebp, ebx
cmovb ebp, edi
cmova ebx, edi
add ebp, dword [esp + 0x10]
add ebp, ebx
sub ebp, edi
mov edi, dword [esp + 0x20]
add edi, ebx
add edi, 0x10
cmp ebp, edi
cmovbe ebp, edi
mov dword [esp + 4], ebx
mov edi, dword [esp + 0x20]
add edi, ebx
sub ebp, edi
add ebp, 0xfffffff7
cmp ebp, 0x18
jb 0x4d3784
cmp dword [esp], 0x20
jb 0x4d3784
mov ebx, ebp
shr ebx, 3
inc ebx
mov dword [esp], ebx
and ebx, 0xfffffffc
lea ecx, [ecx + ebx*8]
lea edx, [edx + ebx*8]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 4]
add ebp, edi
add ebp, 0x18
xor edi, edi
movups xmm0, xmmword [esi + edi*8 + 8]
movups xmm1, xmmword [esi + edi*8 + 0x18]
movups xmmword [ebp + edi*8 - 0x10], xmm0
movups xmmword [ebp + edi*8], xmm1
add edi, 4
cmp ebx, edi
jne 0x4d3760
cmp dword [esp], ebx
je 0x4d2cdf
movsd xmm0, qword [edx]
movsd qword [ecx], xmm0
add ecx, 8
add edx, 8
cmp ecx, eax
jb 0x4d3784
jmp 0x4d2cdf
movups xmm0, xmmword [edx]
movups xmmword [ecx], xmm0
cmp edi, 0x19
jl 0x4d2cdf
add ebx, 0x18
xor ecx, ecx
movups xmm0, xmmword [esi + ecx + 0x18]
movups xmmword [ebx + ecx], xmm0
movups xmm0, xmmword [esi + ecx + 0x28]
movups xmmword [ebx + ecx + 0x10], xmm0
lea edx, [ebx + ecx]
add edx, 0x20
add ecx, 0x20
cmp edx, eax
jb 0x4d37af
jmp 0x4d2cdf