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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x84
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0x9c]
mov edx, dword [esp + 0x98]
mov edi, ebp
neg edi
mov dword [esp + 0x70], edi
mov eax, edx
or eax, ebp
and eax, 3
sete byte [esp + 0x58]
cmp ebp, 4
setne cl
test eax, eax
movzx eax, cl
mov ecx, esi
mov esi, eax
mov eax, 2
cmove eax, esi
mov dword [esp + 0x64], eax
cmp ecx, 7
jae 0x7cbfea
mov ebx, edx
jmp 0x7cd03a
mov dword [esp + 0x30], esi
mov eax, ebp
shr eax, 2
mov dword [esp + 0x44], eax
mov esi, ecx
lea ecx, [ebp - 1]
mov dword [esp + 0x60], ecx
lea ecx, [eax*4 - 4]
mov dword [esp + 0x68], ecx
mov ecx, esi
mov esi, eax
and esi, 0x3ffffffc
mov dword [esp + 0x38], esi
sub eax, esi
mov dword [esp + 0x2c], eax
mov eax, ebp
and eax, 0xffffffe0
mov dword [esp + 0x3c], eax
mov esi, ebp
sub esi, eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x34], edx
nop word cs:[eax + eax]
mov esi, ecx
shr esi, 1
imul esi, ebp
add esi, edx
cmp ecx, 8
jb 0x7cc2a0
lea edi, [ecx - 1]
imul edi, ebp
add edi, edx
cmp ecx, 0x29
jb 0x7cc0d0
mov dword [esp + 0x78], edi
mov edi, ecx
mov dword [esp + 0x48], ecx
shr edi, 3
imul edi, ebp
lea eax, [edx + edi*2]
mov dword [esp + 0x7c], eax
lea ebx, [edx + edi]
mov dword [esp + 0x80], ebx
mov dword [esp], edx
mov dword [esp + 0x74], edx
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0xa4]
call ebp
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], ebx
call ebp
cmp dword [esp + 0x6c], 0
js 0x7cc0df
test eax, eax
jg 0x7cc105
mov ebp, dword [esp + 0x7c]
mov dword [esp + 4], ebp
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
call dword [esp + 0xa4]
test eax, eax
cmovs ebp, ebx
jmp 0x7cc0fe
mov dword [esp + 0x48], ecx
mov eax, edx
mov dword [esp + 0x74], edx
jmp 0x7cc203
test eax, eax
js 0x7cc105
mov ebp, dword [esp + 0x7c]
mov dword [esp + 4], ebp
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
call dword [esp + 0xa4]
test eax, eax
cmovns ebp, ebx
mov dword [esp + 0x80], ebp
lea ebx, [esi + edi]
mov eax, edi
neg eax
mov dword [esp + 0x7c], eax
mov ebp, esi
sub ebp, edi
lea eax, [edi + edi]
mov dword [esp + 0x6c], eax
mov dword [esp + 4], esi
mov dword [esp], ebp
mov edi, dword [esp + 0xa4]
call edi
mov dword [esp + 0x5c], eax
mov dword [esp + 4], ebx
mov dword [esp], esi
call edi
cmp dword [esp + 0x5c], 0
js 0x7cc15a
test eax, eax
jg 0x7cc173
mov dword [esp + 4], ebx
mov dword [esp], ebp
call dword [esp + 0xa4]
test eax, eax
cmovs ebx, ebp
mov esi, ebx
jmp 0x7cc173
test eax, eax
js 0x7cc173
mov dword [esp + 4], ebx
mov dword [esp], ebp
call dword [esp + 0xa4]
test eax, eax
cmovs ebp, ebx
mov esi, ebp
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
add ebx, ebp
mov dword [esp + 0x7c], ebx
mov eax, ebp
sub eax, dword [esp + 0x6c]
mov dword [esp + 0x5c], eax
mov dword [esp + 4], ebx
mov dword [esp], eax
mov edi, dword [esp + 0xa4]
call edi
mov dword [esp + 0x6c], eax
mov dword [esp + 4], ebp
mov dword [esp], ebx
call edi
cmp dword [esp + 0x6c], 0
js 0x7cc1d0
test eax, eax
jg 0x7cc1f1
mov edi, dword [esp + 0x78]
mov dword [esp + 4], edi
mov ebx, dword [esp + 0x5c]
mov dword [esp], ebx
call dword [esp + 0xa4]
test eax, eax
cmovs edi, ebx
jmp 0x7cc1f5
test eax, eax
js 0x7cc1f1
mov edi, dword [esp + 0x78]
mov dword [esp + 4], edi
mov ebx, dword [esp + 0x5c]
mov dword [esp], ebx
call dword [esp + 0xa4]
test eax, eax
cmovns edi, ebx
jmp 0x7cc1f5
mov edi, dword [esp + 0x7c]
mov ebp, dword [esp + 0xa0]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x80], eax
mov dword [esp + 4], esi
mov dword [esp], eax
mov ebx, dword [esp + 0xa4]
call ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call ebx
cmp dword [esp + 0x7c], 0
js 0x7cc262
test eax, eax
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x48]
jg 0x7cc2a0
mov ebx, edi
mov dword [esp + 4], ebx
mov esi, dword [esp + 0x80]
mov dword [esp], esi
mov edi, ecx
call dword [esp + 0xa4]
mov ecx, edi
mov edx, dword [esp + 0x74]
test eax, eax
cmovs ebx, esi
mov esi, ebx
jmp 0x7cc2a0
test eax, eax
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x48]
js 0x7cc2a0
mov ebx, edi
mov dword [esp + 4], ebx
mov esi, dword [esp + 0x80]
mov dword [esp], esi
mov edi, ecx
call dword [esp + 0xa4]
mov ecx, edi
mov edx, dword [esp + 0x74]
test eax, eax
cmovs esi, ebx
nop word cs:[eax + eax]
cmp dword [esp + 0x64], 0
je 0x7cc2d0
test byte [esp + 0x58], 1
je 0x7cc2f0
cmp ebp, 0x10
jae 0x7cc302
mov dword [esp + 0x48], ecx
mov eax, esi
mov ecx, edx
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x44]
jmp 0x7cc440
mov dword [esp + 0x48], ecx
mov eax, dword [edx]
mov ecx, dword [esi]
mov dword [edx], ecx
mov dword [esp + 0x74], edx
mov dword [esi], eax
jmp 0x7cc451
mov dword [esp + 0x74], edx
cmp ebp, 0x20
jae 0x7cc34b
mov dword [esp + 0x48], ecx
jmp 0x7cc380
mov dword [esp + 0x48], ecx
mov dword [esp + 0x74], edx
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x7cc3a2
mov edi, dword [esp + 0x68]
lea edx, [esi + edi]
lea eax, [esi + ecx*4]
mov ebx, dword [esp + 0x74]
lea ecx, [ebx + ecx*4]
cmp ebx, edx
mov edx, ebx
ja 0x7cc3f3
mov ebx, edx
lea edx, [ebx + edi]
cmp esi, edx
ja 0x7cc3fb
mov eax, esi
mov ecx, ebx
mov edx, dword [esp + 0x44]
jmp 0x7cc440
mov dword [esp + 0x48], ecx
mov edi, dword [esp + 0x3c]
test edi, edi
je 0x7cc380
mov ecx, dword [esp + 0x60]
lea eax, [esi + ecx]
mov edx, dword [esp + 0x74]
cmp edx, eax
ja 0x7cc3b1
lea eax, [edx + ecx]
cmp esi, eax
ja 0x7cc3b1
mov eax, edx
mov edx, ebp
mov ecx, esi
jmp 0x7cc390
mov edx, ebp
mov eax, dword [esp + 0x74]
mov ecx, esi
nop dword [eax + eax]
mov bl, byte [eax]
mov bh, byte [ecx]
mov byte [eax], bh
inc eax
mov byte [ecx], bl
inc ecx
dec edx
jne 0x7cc390
jmp 0x7cc451
mov eax, esi
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x44]
jmp 0x7cc440
lea eax, [edx + edi]
lea ecx, [esi + edi]
add esi, 0x10
lea edx, [edx + 0x10]
nop dword [eax]
movups xmm0, xmmword [edx - 0x10]
movups xmm1, xmmword [edx]
movups xmm2, xmmword [esi - 0x10]
movups xmm3, xmmword [esi]
movups xmmword [edx - 0x10], xmm2
movups xmmword [edx], xmm3
movups xmmword [esi - 0x10], xmm0
movups xmmword [esi], xmm1
add esi, 0x20
add edx, 0x20
add edi, 0xffffffe0
jne 0x7cc3c0
cmp dword [esp + 0x3c], ebp
mov edx, dword [esp + 0x28]
je 0x7cc451
jmp 0x7cc390
mov edi, edx
mov edx, dword [esp + 0x38]
jmp 0x7cc410
mov edx, dword [esp + 0x38]
mov edi, ebx
nop word cs:[eax + eax]
movups xmm0, xmmword [edi]
movups xmm1, xmmword [esi]
movups xmmword [edi], xmm1
movups xmmword [esi], xmm0
add edi, 0x10
add esi, 0x10
add edx, 0xfffffffc
jne 0x7cc410
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x44], edx
mov edx, dword [esp + 0x2c]
je 0x7cc451
nop word cs:[eax + eax]
mov esi, dword [ecx]
mov edi, dword [eax]
mov dword [ecx], edi
add ecx, 4
mov dword [eax], esi
add eax, 4
dec edx
jne 0x7cc440
mov ecx, dword [esp + 0x74]
lea edx, [ecx + ebp]
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x48]
dec eax
imul eax, ebp
add eax, ecx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x54], 0
mov esi, eax
mov edi, edx
mov eax, edx
jmp 0x7cc4a5
mov eax, dword [esp + 0x7c]
add eax, ebp
mov ecx, dword [esp + 0x80]
add ecx, dword [esp + 0x70]
mov dword [esp + 0x54], 1
mov esi, ecx
mov edi, eax
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x50], eax
cmp edi, esi
jbe 0x7cc4c0
mov edx, edi
jmp 0x7cc6fc
xor ebx, ebx
mov dword [esp + 0x78], edi
mov edx, edi
mov eax, ebp
jmp 0x7cc520
mov ebp, esi
mov esi, dword [esp + 0x7c]
nop word cs:[eax + eax]
movups xmm0, xmmword [ebx + edx*4]
movups xmm1, xmmword [esi + edx*4]
movups xmmword [ebx + edx*4], xmm1
movups xmmword [esi + edx*4], xmm0
add edx, 4
cmp edi, edx
jne 0x7cc4e0
mov dword [esp + 0x50], ebx
mov dword [esp + 0x7c], esi
cmp dword [esp + 0x44], edi
mov edx, dword [esp + 0x2c]
jne 0x7cc6b0
jmp 0x7cc6c1
mov dword [esp + 0x80], ebx
mov dword [esp + 0x7c], edx
mov ebp, ebx
imul ebp, eax
mov esi, eax
mov ebx, dword [esp + 0x78]
lea eax, [ebx + ebp]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x60]
lea edi, [eax + ebp]
add edi, ebx
add ebp, dword [esp + 0x68]
add ebp, ebx
mov dword [esp + 4], ecx
mov dword [esp], edx
call dword [esp + 0xa4]
test eax, eax
jg 0x7cc6f0
je 0x7cc570
mov ebp, esi
jmp 0x7cc6cd
cmp dword [esp + 0x64], 0
je 0x7cc5d3
test byte [esp + 0x58], 1
je 0x7cc5ea
cmp esi, 0x10
jb 0x7cc69f
mov edi, dword [esp + 0x38]
test edi, edi
je 0x7cc69f
mov eax, dword [esp + 0x7c]
lea eax, [eax + edi*4]
mov ebx, dword [esp + 0x50]
lea ecx, [ebx + edi*4]
xor edx, edx
cmp ebx, ebp
ja 0x7cc4cc
mov ebp, edi
mov edi, dword [esp + 0x68]
lea edi, [ebx + edi]
cmp dword [esp + 0x4c], edi
mov edi, ebp
mov ebp, esi
mov esi, dword [esp + 0x7c]
ja 0x7cc4e0
mov eax, esi
mov ecx, ebx
mov edx, dword [esp + 0x44]
jmp 0x7cc6b0
mov edi, dword [esp + 0x50]
mov eax, dword [edi]
mov edx, dword [esp + 0x7c]
mov ecx, dword [edx]
mov dword [edi], ecx
mov dword [edx], eax
mov ebp, esi
jmp 0x7cc6c1
mov ebp, esi
cmp ebp, 0x20
mov edx, ebp
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x7c]
jb 0x7cc690
cmp dword [esp + 0x3c], 0
mov edx, ebp
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x7c]
je 0x7cc690
cmp dword [esp + 0x50], edi
ja 0x7cc633
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x50]
lea eax, [ecx + eax]
cmp dword [esp + 0x4c], eax
mov edx, ebp
mov eax, ecx
mov ecx, dword [esp + 0x7c]
jbe 0x7cc690
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x50]
lea eax, [ebx + esi]
mov edi, dword [esp + 0x7c]
lea ecx, [edi + esi]
xor edx, edx
nop word [eax + eax]
movups xmm0, xmmword [ebx + edx]
movups xmm1, xmmword [ebx + edx + 0x10]
movups xmm2, xmmword [edi + edx]
movups xmm3, xmmword [edi + edx + 0x10]
movups xmmword [ebx + edx], xmm2
movups xmmword [ebx + edx + 0x10], xmm3
movups xmmword [edi + edx], xmm0
movups xmmword [edi + edx + 0x10], xmm1
add edx, 0x20
cmp esi, edx
jne 0x7cc650
cmp esi, ebp
mov edx, dword [esp + 0x28]
je 0x7cc6c1
nop word cs:[eax + eax]
mov bl, byte [eax]
mov bh, byte [ecx]
mov byte [eax], bh
inc eax
mov byte [ecx], bl
inc ecx
dec edx
jne 0x7cc690
jmp 0x7cc6c1
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x44]
mov ebp, esi
nop dword [eax]
mov edi, dword [ecx]
mov ebx, dword [eax]
mov dword [ecx], ebx
add ecx, 4
mov dword [eax], edi
add eax, 4
dec edx
jne 0x7cc6b0
add dword [esp + 0x50], ebp
mov dword [esp + 0x54], 1
mov edx, dword [esp + 0x7c]
add edx, ebp
mov ebx, dword [esp + 0x80]
inc ebx
mov esi, dword [esp + 0x6c]
cmp edx, esi
mov eax, ebp
mov ecx, dword [esp + 0x74]
jbe 0x7cc520
jmp 0x7cc6fc
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x7c], edx
xor edi, edi
cmp edx, esi
mov edx, esi
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x60]
jbe 0x7cc760
jmp 0x7ccb16
mov esi, dword [esp + 0x80]
movups xmm0, xmmword [esi + edx*4]
movups xmm1, xmmword [ebp + edx*4]
movups xmmword [esi + edx*4], xmm1
movups xmmword [ebp + edx*4], xmm0
add edx, 4
cmp edi, edx
jne 0x7cc720
mov dword [esp + 0x80], esi
cmp dword [esp + 0x44], edi
mov edx, dword [esp + 0x2c]
jne 0x7cc910
jmp 0x7cc921
mov dword [esp + 0x78], edi
mov dword [esp + 0x80], edx
mov esi, edi
imul esi, eax
mov eax, dword [esp + 0x6c]
lea edi, [eax + esi]
lea ebp, [ebx + esi]
add ebp, eax
add esi, dword [esp + 0x68]
add esi, eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call dword [esp + 0xa4]
test eax, eax
js 0x7cc960
je 0x7cc7b0
mov eax, dword [esp + 0x70]
jmp 0x7cc935
cmp dword [esp + 0x64], 0
je 0x7cc818
test byte [esp + 0x58], 1
je 0x7cc830
mov eax, dword [esp + 0xa0]
cmp eax, 0x10
jb 0x7cc8ff
mov ebx, dword [esp + 0x38]
test ebx, ebx
je 0x7cc8ff
mov eax, dword [esp + 0x68]
mov ebp, dword [esp + 0x5c]
lea eax, [ebp + eax]
xor edx, edx
cmp edi, eax
lea eax, [ebp + ebx*4]
mov ecx, dword [esp + 0x80]
lea ecx, [ecx + ebx*4]
mov edi, ebx
ja 0x7cc719
cmp ebp, esi
mov esi, dword [esp + 0x80]
ja 0x7cc720
mov eax, ebp
mov ecx, esi
jmp 0x7cc90a
mov esi, dword [esp + 0x80]
mov eax, dword [esi]
mov edx, dword [esp + 0x5c]
mov ecx, dword [edx]
mov dword [esi], ecx
mov dword [edx], eax
jmp 0x7cc921
mov eax, dword [esp + 0xa0]
cmp eax, 0x20
mov edx, eax
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x5c]
jb 0x7cc8f0
cmp dword [esp + 0x3c], 0
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x5c]
je 0x7cc8f0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
lea eax, [ecx + eax]
cmp edi, eax
ja 0x7cc88f
mov ecx, dword [esp + 0x5c]
cmp ecx, ebp
mov edx, dword [esp + 0xa0]
mov eax, dword [esp + 0x80]
jbe 0x7cc8f0
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x80]
lea eax, [ebx + esi]
mov edi, dword [esp + 0x5c]
lea ecx, [edi + esi]
xor edx, edx
nop word cs:[eax + eax]
movups xmm0, xmmword [ebx + edx]
movups xmm1, xmmword [ebx + edx + 0x10]
movups xmm2, xmmword [edi + edx]
movups xmm3, xmmword [edi + edx + 0x10]
movups xmmword [ebx + edx], xmm2
movups xmmword [ebx + edx + 0x10], xmm3
movups xmmword [edi + edx], xmm0
movups xmmword [edi + edx + 0x10], xmm1
add edx, 0x20
cmp esi, edx
jne 0x7cc8b0
cmp esi, dword [esp + 0xa0]
mov edx, dword [esp + 0x28]
je 0x7cc921
nop dword [eax + eax]
mov bl, byte [eax]
mov bh, byte [ecx]
mov byte [eax], bh
inc eax
mov byte [ecx], bl
inc ecx
dec edx
jne 0x7cc8f0
jmp 0x7cc921
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x44]
nop
mov esi, dword [ecx]
mov edi, dword [eax]
mov dword [ecx], edi
add ecx, 4
mov dword [eax], esi
add eax, 4
dec edx
jne 0x7cc910
mov eax, dword [esp + 0x70]
add dword [esp + 0x5c], eax
mov dword [esp + 0x54], 1
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x80]
add edx, eax
mov edi, dword [esp + 0x78]
inc edi
cmp dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x74]
jbe 0x7cc760
jmp 0x7ccb20
cmp dword [esp + 0x64], 0
mov ebp, dword [esp + 0xa0]
je 0x7cc994
test byte [esp + 0x58], 1
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
je 0x7cc9ac
cmp ebp, 0x10
jae 0x7cca72
mov eax, esi
mov edx, dword [esp + 0x44]
jmp 0x7ccb00
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
mov esi, dword [esp + 0x80]
mov ecx, dword [esi]
mov dword [edx], ecx
mov dword [esi], eax
jmp 0x7cc480
cmp ebp, 0x20
mov edx, ebp
mov eax, ecx
mov ecx, esi
jb 0x7cca60
cmp dword [esp + 0x3c], 0
mov edx, ebp
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
je 0x7cca60
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x80]
lea eax, [ecx + eax]
cmp dword [esp + 0x7c], eax
ja 0x7cca03
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x7c]
lea eax, [ecx + eax]
mov esi, dword [esp + 0x80]
cmp esi, eax
mov edx, ebp
mov eax, ecx
mov ecx, esi
jbe 0x7cca60
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x7c]
lea eax, [esi + edi]
mov edx, dword [esp + 0x80]
lea ecx, [edx + edi]
lea edx, [edx + 0x10]
lea esi, [esi + 0x10]
nop
movups xmm0, xmmword [esi - 0x10]
movups xmm1, xmmword [esi]
movups xmm2, xmmword [edx - 0x10]
movups xmm3, xmmword [edx]
movups xmmword [esi - 0x10], xmm2
movups xmmword [esi], xmm3
movups xmmword [edx - 0x10], xmm0
movups xmmword [edx], xmm1
add edx, 0x20
add esi, 0x20
add edi, 0xffffffe0
jne 0x7cca20
cmp dword [esp + 0x3c], ebp
mov edx, dword [esp + 0x28]
je 0x7cc480
nop word cs:[eax + eax]
mov bl, byte [eax]
mov bh, byte [ecx]
mov byte [eax], bh
inc eax
mov byte [ecx], bl
inc ecx
dec edx
jne 0x7cca60
jmp 0x7cc480
mov esi, dword [esp + 0x38]
test esi, esi
je 0x7ccab2
mov ebx, dword [esp + 0x80]
mov eax, dword [esp + 0x68]
lea edx, [ebx + eax]
lea eax, [ebx + esi*4]
mov edi, dword [esp + 0x7c]
lea ecx, [edi + esi*4]
cmp edi, edx
mov edx, esi
ja 0x7ccad0
mov edi, dword [esp + 0x7c]
mov edx, dword [esp + 0x68]
lea edx, [edi + edx]
mov ebx, dword [esp + 0x80]
cmp ebx, edx
mov edx, dword [esp + 0x38]
ja 0x7ccad0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x44]
jmp 0x7ccb00
movups xmm0, xmmword [edi]
movups xmm1, xmmword [ebx]
movups xmmword [edi], xmm1
movups xmmword [ebx], xmm0
add edi, 0x10
add ebx, 0x10
add edx, 0xfffffffc
jne 0x7ccad0
mov edx, dword [esp + 0x38]
cmp dword [esp + 0x44], edx
mov edx, dword [esp + 0x2c]
je 0x7cc480
nop dword [eax]
mov esi, dword [ecx]
mov edi, dword [eax]
mov dword [ecx], edi
add ecx, 4
mov dword [eax], esi
add eax, 4
dec edx
jne 0x7ccb00
jmp 0x7cc480
mov edx, dword [esp + 0x6c]
nop word [eax + eax]
mov dword [esp + 0x80], edx
mov ebp, dword [esp + 0xa0]
mov eax, dword [esp + 0x48]
imul eax, ebp
mov dword [esp + 0x48], eax
lea eax, [ecx + eax]
mov dword [esp + 0x78], eax
cmp dword [esp + 0x54], 0
je 0x7cd361
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x50]
mov ecx, eax
mov edi, dword [esp + 0x34]
sub ecx, edi
mov edx, dword [esp + 0x7c]
sub edx, eax
mov dword [esp + 0x6c], edx
mov esi, eax
cmp ecx, edx
cmovg ecx, edx
test ecx, ecx
jle 0x7ccd71
mov eax, dword [esp + 0x7c]
mov edx, eax
sub edx, ecx
test byte [esp + 0x58], 1
je 0x7ccbb0
shr ecx, 2
dec edi
sub edi, esi
dec esi
sub esi, eax
cmp edi, esi
mov eax, esi
cmovge eax, edi
shr eax, 2
xor eax, 0x3fffffff
cmp eax, 4
jae 0x7ccc32
mov esi, dword [esp + 0x74]
jmp 0x7ccd60
dec edi
sub edi, esi
dec esi
sub esi, eax
cmp edi, esi
mov ebp, esi
cmovge ebp, edi
cmp ebp, 0xffffffdf
ja 0x7ccc10
not ebp
mov eax, ebp
and eax, 0xffffffe0
je 0x7ccc10
mov dword [esp + 0x64], eax
mov dword [esp + 0x50], esi
cmp edi, esi
mov eax, esi
cmovge eax, edi
mov esi, dword [esp + 0x7c]
dec esi
cmp dword [esp + 0x74], esi
ja 0x7ccc96
mov esi, dword [esp + 0x74]
sub esi, eax
add esi, 0xfffffffe
mov dword [esp + 0x4c], esi
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x54]
lea eax, [eax + esi + 1]
cmp eax, dword [esp + 0x4c]
ja 0x7ccc96
mov esi, dword [esp + 0x74]
mov ebp, dword [esp + 0xa0]
nop dword [eax + eax]
mov al, byte [esi]
mov ah, byte [edx]
mov byte [esi], ah
inc esi
mov byte [edx], al
inc edx
dec ecx
jne 0x7ccc20
jmp 0x7ccd71
mov dword [esp + 0x64], eax
and eax, 0x3ffffffc
mov dword [esp + 0x54], eax
je 0x7ccc8d
mov dword [esp + 0x50], esi
cmp edi, esi
cmovge esi, edi
mov dword [esp + 0x34], edi
mov edi, esi
not edi
and edi, 0xfffffffc
lea ebx, [esi + edi]
mov eax, dword [esp + 0x7c]
lea ebx, [eax + ebx - 3]
mov eax, dword [esp + 0x74]
cmp eax, ebx
mov ebx, eax
mov eax, dword [esp + 0x7c]
ja 0x7cccfd
lea edi, [ebx + edi - 4]
lea esi, [eax + esi + 1]
cmp esi, edi
ja 0x7cccfd
mov esi, ebx
mov ebx, dword [esp + 0x60]
jmp 0x7ccd60
mov esi, dword [esp + 0x74]
jmp 0x7ccd60
mov eax, dword [esp + 0x64]
sub ecx, eax
mov ebx, dword [esp + 0x74]
lea esi, [ebx + eax]
add edx, eax
mov eax, dword [esp + 0x50]
cmp edi, eax
cmovge eax, edi
mov edi, dword [esp + 0x7c]
lea edi, [edi + eax + 0x11]
lea ebx, [ebx + 0x10]
not eax
and eax, 0xffffffe0
nop
movups xmm0, xmmword [ebx - 0x10]
movups xmm1, xmmword [ebx]
movups xmm2, xmmword [edi - 0x10]
movups xmm3, xmmword [edi]
movups xmmword [ebx - 0x10], xmm2
movups xmmword [ebx], xmm3
movups xmmword [edi - 0x10], xmm0
movups xmmword [edi], xmm1
add edi, 0x20
add ebx, 0x20
add eax, 0xffffffe0
jne 0x7cccc0
cmp dword [esp + 0x64], ebp
mov ebp, dword [esp + 0xa0]
mov ebx, dword [esp + 0x60]
je 0x7ccd71
jmp 0x7ccc20
mov eax, dword [esp + 0x54]
lea edx, [edx + eax*4]
lea esi, [ebx + eax*4]
sub ecx, eax
mov edi, dword [esp + 0x34]
mov ebp, dword [esp + 0x50]
cmp edi, ebp
cmovge ebp, edi
mov edi, dword [esp + 0x7c]
lea ebx, [edi + ebp + 1]
mov ebp, dword [esp + 0x64]
and ebp, 0xfffffffc
mov edi, dword [esp + 0x74]
nop dword [eax]
movups xmm0, xmmword [edi]
movups xmm1, xmmword [ebx]
movups xmmword [edi], xmm1
movups xmmword [ebx], xmm0
add edi, 0x10
add ebx, 0x10
add ebp, 0xfffffffc
jne 0x7ccd30
cmp dword [esp + 0x64], eax
mov ebp, dword [esp + 0xa0]
mov ebx, dword [esp + 0x60]
je 0x7ccd71
nop dword [eax + eax]
mov eax, dword [esi]
mov edi, dword [edx]
mov dword [esi], edi
add esi, 4
mov dword [edx], eax
add edx, 4
dec ecx
jne 0x7ccd60
mov eax, dword [esp + 0x5c]
mov edx, eax
sub edx, dword [esp + 0x80]
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0x78]
sub ecx, eax
mov esi, eax
sub ecx, ebp
cmp edx, ecx
cmovle ecx, edx
test ecx, ecx
jle 0x7ccfbf
mov eax, dword [esp + 0x78]
mov edx, eax
sub edx, ecx
test byte [esp + 0x58], 1
je 0x7ccde0
shr ecx, 2
lea edi, [ebx + esi]
sub edi, eax
mov ebx, dword [esp + 0x80]
dec ebx
sub ebx, esi
cmp edi, ebx
mov eax, ebx
cmovge eax, edi
shr eax, 2
xor eax, 0x3fffffff
cmp eax, 4
jae 0x7cce04
mov ebp, dword [esp + 0x7c]
jmp 0x7ccf30
lea edi, [ebx + esi]
sub edi, eax
mov ebx, dword [esp + 0x80]
dec ebx
sub ebx, esi
cmp edi, ebx
mov esi, ebx
cmovge esi, edi
cmp esi, 0xffffffdf
jbe 0x7cce61
mov ebp, dword [esp + 0x7c]
jmp 0x7ccfb0
mov esi, eax
and esi, 0x3ffffffc
je 0x7ccebe
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], eax
cmp edi, ebx
mov eax, ebx
mov dword [esp + 0x80], ebx
cmovge eax, edi
mov ebx, eax
not ebx
and ebx, 0xfffffffc
add eax, dword [esp + 0x48]
lea ebp, [eax + ebx]
mov esi, dword [esp + 0x74]
lea ebp, [esi + ebp - 3]
mov esi, dword [esp + 0x7c]
cmp esi, ebp
ja 0x7ccecd
lea ebx, [esi + ebx - 4]
mov ebp, dword [esp + 0x74]
lea eax, [ebp + eax + 1]
cmp eax, ebx
ja 0x7ccecd
mov ebp, esi
jmp 0x7ccf30
not esi
mov eax, esi
and eax, 0xffffffe0
je 0x7ccec4
mov dword [esp + 0x5c], eax
cmp edi, ebx
mov eax, ebx
mov dword [esp + 0x80], ebx
cmovge eax, edi
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x48]
lea ebx, [ebx + ebp - 1]
mov ebp, dword [esp + 0x7c]
cmp ebp, ebx
mov ebx, ebp
ja 0x7ccf45
mov ebx, dword [esp + 0x7c]
sub ebx, eax
add ebx, 0xfffffffe
add eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x74]
lea eax, [ebp + eax + 1]
cmp eax, ebx
mov ebx, dword [esp + 0x7c]
ja 0x7ccf45
mov ebp, ebx
jmp 0x7ccfb0
mov ebp, dword [esp + 0x7c]
jmp 0x7ccf30
mov ebp, dword [esp + 0x7c]
jmp 0x7ccfb0
mov ebx, dword [esp + 0x5c]
lea edx, [edx + ebx*4]
sub ecx, ebx
mov eax, dword [esp + 0x80]
cmp edi, eax
cmovge eax, edi
lea ebp, [esi + ebx*4]
add eax, dword [esp + 0x48]
mov edi, dword [esp + 0x74]
lea edi, [edi + eax + 1]
mov eax, dword [esp + 0x58]
mov ebx, eax
and ebx, 0xfffffffc
nop word [eax + eax]
movups xmm0, xmmword [esi]
movups xmm1, xmmword [edi]
movups xmmword [esi], xmm1
movups xmmword [edi], xmm0
add esi, 0x10
add edi, 0x10
add ebx, 0xfffffffc
jne 0x7ccf00
cmp eax, dword [esp + 0x5c]
je 0x7ccfbf
nop word cs:[eax + eax]
mov eax, dword [ebp]
mov esi, dword [edx]
mov dword [ebp], esi
add ebp, 4
mov dword [edx], eax
add edx, 4
dec ecx
jne 0x7ccf30
jmp 0x7ccfbf
mov eax, dword [esp + 0x5c]
sub ecx, eax
add edx, eax
mov eax, dword [esp + 0x80]
cmp edi, eax
cmovge eax, edi
mov ebp, dword [esp + 0x48]
add ebp, eax
mov edi, dword [esp + 0x74]
lea edi, [edi + ebp + 0x11]
mov ebp, dword [esp + 0x5c]
lea ebp, [ebx + ebp]
add ebx, 0x10
not eax
and eax, 0xffffffe0
nop word cs:[eax + eax]
movups xmm0, xmmword [ebx - 0x10]
movups xmm1, xmmword [ebx]
movups xmm2, xmmword [edi - 0x10]
movups xmm3, xmmword [edi]
movups xmmword [ebx - 0x10], xmm2
movups xmmword [ebx], xmm3
movups xmmword [edi - 0x10], xmm0
movups xmmword [edi], xmm1
add edi, 0x20
add ebx, 0x20
add eax, 0xffffffe0
jne 0x7ccf80
cmp dword [esp + 0x5c], esi
je 0x7ccfbf
nop dword [eax]
mov al, byte [ebp]
mov ah, byte [edx]
mov byte [ebp], ah
inc ebp
mov byte [edx], al
inc edx
dec ecx
jne 0x7ccfb0
mov ebp, dword [esp + 0xa0]
mov eax, dword [esp + 0x6c]
cmp eax, ebp
mov edi, dword [esp + 0x70]
jbe 0x7ccff5
xor edx, edx
div ebp
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebp
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.007cbf90
mov eax, dword [esp + 0x64]
cmp eax, ebp
mov esi, dword [esp + 0x30]
jbe 0x7cd62e
mov ebx, dword [esp + 0x78]
sub ebx, eax
xor edx, edx
div ebp
mov ecx, eax
mov eax, ebx
or eax, ebp
and eax, 3
sete byte [esp + 0x58]
test eax, eax
mov eax, 2
cmove eax, esi
mov dword [esp + 0x64], eax
cmp ecx, 7
mov dword [esp + 0x34], ebx
mov edx, ebx
jae 0x7cc040
imul ecx, ebp
cmp ecx, ebp
jle 0x7cd62e
mov dword [esp + 0x78], ebx
add ecx, ebx
mov dword [esp + 0x48], ecx
lea ecx, [ebx + ebp]
mov eax, ebp
shr eax, 2
mov dword [esp + 0x5c], eax
lea edx, [ebp + eax*4 - 4]
mov dword [esp + 0x28], edx
mov edx, eax
and edx, 0x3ffffffc
mov dword [esp + 0x54], edx
mov esi, eax
sub esi, edx
mov dword [esp + 0x18], esi
mov edx, ebp
and edx, 0xffffffe0
mov dword [esp + 0x50], edx
mov esi, ebp
sub esi, edx
mov dword [esp + 0x14], esi
lea eax, [eax*4 - 4]
mov dword [esp + 0x24], eax
lea eax, [ebp + ebp - 1]
mov dword [esp + 0x20], eax
lea eax, [ebp - 1]
mov dword [esp + 0x1c], eax
lea eax, [ebx + 0x10]
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], ebx
nop word cs:[eax + eax]
mov dword [esp + 0x60], ecx
cmp ecx, dword [esp + 0x78]
jbe 0x7cd33e
mov ecx, dword [esp + 0x40]
imul ecx, ebp
mov dword [esp + 0x6c], ecx
lea eax, [ecx + ebp]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x20]
lea eax, [eax + ecx]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
lea eax, [eax + ecx]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x28]
lea eax, [eax + ecx]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
lea eax, [eax + ecx]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x74], eax
mov dword [esp + 0x80], 0
mov esi, dword [esp + 0x60]
jmp 0x7cd1d0
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x54]
nop dword [eax + eax]
movups xmm0, xmmword [ebx + ebp*4]
movups xmm1, xmmword [edx]
movups xmmword [ebx + ebp*4], xmm1
movups xmmword [edx], xmm0
add ebp, 4
add edx, 0x10
cmp edi, ebp
jne 0x7cd140
cmp dword [esp + 0x5c], edi
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0xa0]
je 0x7cd321
jmp 0x7cd310
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x50]
nop word [eax + eax]
movups xmm0, xmmword [ebx + ebp]
movups xmm1, xmmword [ebx + ebp + 0x10]
movups xmm2, xmmword [edx - 0x10]
movups xmm3, xmmword [edx]
movups xmmword [ebx + ebp], xmm2
movups xmmword [ebx + ebp + 0x10], xmm3
movups xmmword [edx - 0x10], xmm0
movups xmmword [edx], xmm1
add ebp, 0x20
add edx, 0x20
cmp edi, ebp
jne 0x7cd180
mov ebp, dword [esp + 0xa0]
cmp edi, ebp
mov edx, dword [esp + 0x14]
je 0x7cd321
jmp 0x7cd2f0
mov ebx, esi
lea esi, [ebx + edi]
mov dword [esp + 4], ebx
mov dword [esp], esi
call dword [esp + 0xa4]
test eax, eax
jle 0x7cd33e
cmp dword [esp + 0x64], 0
je 0x7cd280
mov edx, dword [esp + 0x80]
imul edx, edi
mov eax, dword [esp + 0x68]
lea eax, [eax + edx]
mov ecx, dword [esp + 0x78]
add eax, ecx
mov edi, dword [esp + 0x6c]
lea edi, [edi + edx]
add edi, ecx
cmp byte [esp + 0x58], 0
je 0x7cd290
cmp ebp, 0x10
jb 0x7cd300
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x7cd300
mov ebp, dword [esp + 0x34]
lea ebp, [ebp + edx]
add ebp, dword [esp + 0x78]
mov dword [esp + 0x4c], ebp
xor ebp, ebp
cmp eax, dword [esp + 0x4c]
lea eax, [esi + ecx*4]
lea ecx, [ebx + ecx*4]
ja 0x7cd130
add edx, dword [esp + 0x2c]
add edx, dword [esp + 0x78]
cmp edi, edx
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0x54]
ja 0x7cd140
mov eax, esi
mov ecx, ebx
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0xa0]
jmp 0x7cd310
mov eax, dword [ebx]
mov ecx, dword [esi]
mov dword [ebx], ecx
mov dword [esi], eax
jmp 0x7cd321
cmp ebp, 0x20
jb 0x7cd2e0
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x7cd2e0
mov ebp, dword [esp + 0x38]
lea ebp, [ebp + edx]
add ebp, dword [esp + 0x78]
mov dword [esp + 0x4c], ebp
xor ebp, ebp
cmp eax, dword [esp + 0x4c]
lea eax, [ebx + ecx]
lea ecx, [esi + ecx]
ja 0x7cd172
add edx, dword [esp + 0x30]
add edx, dword [esp + 0x78]
cmp edi, edx
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x50]
ja 0x7cd180
mov ebp, dword [esp + 0xa0]
nop
mov edx, ebp
mov eax, ebx
mov ecx, esi
nop word cs:[eax + eax]
mov bl, byte [eax]
mov bh, byte [ecx]
mov byte [eax], bh
inc eax
mov byte [ecx], bl
inc ecx
dec edx
jne 0x7cd2f0
jmp 0x7cd321
mov eax, esi
mov ecx, ebx
mov edx, dword [esp + 0x5c]
nop dword [eax + eax]
mov edi, dword [ecx]
mov ebx, dword [eax]
mov dword [ecx], ebx
add ecx, 4
mov dword [eax], edi
add eax, 4
dec edx
jne 0x7cd310
inc dword [esp + 0x80]
mov edi, dword [esp + 0x70]
add dword [esp + 0x74], edi
add dword [esp + 0x7c], edi
cmp esi, dword [esp + 0x78]
ja 0x7cd1d0
mov ecx, dword [esp + 0x60]
add ecx, ebp
inc dword [esp + 0x40]
add dword [esp + 0x44], ebp
add dword [esp + 0x3c], ebp
mov eax, dword [esp + 0x48]
cmp ecx, eax
jb 0x7cd0c0
jmp 0x7cd62e
cmp dword [esp + 0x48], ebp
jle 0x7cd62e
mov eax, dword [esp + 0x68]
sub eax, ebp
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x44]
mov edx, eax
and edx, 0x3ffffffc
mov dword [esp + 0x54], edx
sub eax, edx
mov dword [esp + 0x30], eax
mov esi, ebp
and esi, 0xffffffe0
mov dword [esp + 0x2c], esi
mov eax, ebp
sub eax, esi
mov dword [esp + 0x28], eax
mov eax, 0x10
sub eax, ebp
mov dword [esp + 0x24], eax
mov dword [esp + 0x50], 0
mov edx, dword [esp + 0x40]
nop word cs:[eax + eax]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x74], ecx
cmp edx, ecx
jbe 0x7cd60f
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0xa0]
imul edx, eax
mov dword [esp + 0x7c], edx
mov ecx, dword [esp + 0x60]
lea ecx, [ecx + edx]
mov dword [esp + 0x3c], ecx
mov ecx, edx
sub ecx, eax
mov dword [esp + 0x6c], ecx
lea eax, [edx - 1]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x68]
lea eax, [eax + edx]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x34]
lea eax, [eax + edx]
mov dword [esp + 0x48], eax
xor ebp, ebp
mov edi, dword [esp + 0x5c]
jmp 0x7cd4c0
mov esi, dword [esp + 0x54]
lea eax, [edi + esi*4]
lea ecx, [ebx + esi*4]
mov edx, dword [esp + 0x70]
lea edx, [ebx + edx]
xor ebp, ebp
movups xmm0, xmmword [ebx + ebp*4]
movups xmm1, xmmword [edx + ebp*4]
movups xmmword [ebx + ebp*4], xmm1
movups xmmword [edx + ebp*4], xmm0
add ebp, 4
cmp esi, ebp
jne 0x7cd430
cmp dword [esp + 0x44], esi
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
je 0x7cd5fd
jmp 0x7cd560
lea eax, [ebx + esi]
lea ecx, [edi + esi]
mov edx, dword [esp + 0x24]
lea edx, [ebx + edx]
xor ebp, ebp
nop dword [eax]
movups xmm0, xmmword [ebx + ebp]
movups xmm1, xmmword [ebx + ebp + 0x10]
movups xmm2, xmmword [edx + ebp - 0x10]
movups xmm3, xmmword [edx + ebp]
movups xmmword [ebx + ebp], xmm2
movups xmmword [ebx + ebp + 0x10], xmm3
movups xmmword [edx + ebp - 0x10], xmm0
movups xmmword [edx + ebp], xmm1
add ebp, 0x20
cmp esi, ebp
jne 0x7cd470
cmp esi, dword [esp + 0xa0]
mov edx, dword [esp + 0x28]
jne 0x7cd5f0
jmp 0x7cd5fd
mov ebx, edi
mov eax, dword [esp + 0x70]
lea edi, [ebx + eax]
mov dword [esp + 4], ebx
mov dword [esp], edi
call dword [esp + 0xa4]
test eax, eax
jle 0x7cd60f
cmp dword [esp + 0x64], 0
je 0x7cd580
mov eax, ebp
mov dword [esp + 0x80], ebp
imul eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x7c]
lea edx, [ecx + eax]
mov ebp, dword [esp + 0x40]
add edx, ebp
mov ecx, dword [esp + 0x6c]
lea ecx, [ecx + eax]
add ecx, ebp
test byte [esp + 0x58], 1
je 0x7cd5a0
mov ebp, dword [esp + 0xa0]
cmp ebp, 0x10
jb 0x7cd550
cmp dword [esp + 0x54], 0
je 0x7cd550
mov ebp, dword [esp + 0x48]
lea ebp, [ebp + eax]
add ebp, dword [esp + 0x40]
cmp edx, ebp
ja 0x7cd41d
add eax, dword [esp + 0x38]
add eax, dword [esp + 0x40]
cmp ecx, eax
ja 0x7cd41d
mov eax, edi
mov ecx, ebx
mov edx, dword [esp + 0x44]
nop dword [eax + eax]
mov ebx, dword [ecx]
mov ebp, dword [eax]
mov dword [ecx], ebp
add ecx, 4
mov dword [eax], ebx
add eax, 4
dec edx
jne 0x7cd560
jmp 0x7cd5fd
mov dword [esp + 0x80], ebp
mov eax, dword [ebx]
mov ecx, dword [edi]
mov dword [ebx], ecx
mov dword [edi], eax
jmp 0x7cd5fd
mov ebp, dword [esp + 0xa0]
cmp ebp, 0x20
jb 0x7cd5e0
test esi, esi
je 0x7cd5e0
mov ebp, dword [esp + 0x4c]
lea ebp, [ebp + eax]
add ebp, dword [esp + 0x40]
cmp edx, ebp
ja 0x7cd45e
add eax, dword [esp + 0x3c]
add eax, dword [esp + 0x40]
cmp ecx, eax
ja 0x7cd45e
mov edx, dword [esp + 0xa0]
jmp 0x7cd5e2
mov edx, ebp
mov eax, ebx
mov ecx, edi
nop word cs:[eax + eax]
mov bl, byte [eax]
mov bh, byte [ecx]
mov byte [eax], bh
inc eax
mov byte [ecx], bl
inc ecx
dec edx
jne 0x7cd5f0
mov ebp, dword [esp + 0x80]
inc ebp
cmp edi, dword [esp + 0x74]
ja 0x7cd4c0
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x5c]
add edx, eax
inc dword [esp + 0x50]
cmp edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
jb 0x7cd3c0
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret