Function at 0x6d80b0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x5c
call fcn.006df660
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x54], 0
xor ebx, ebx
call fcn.005b3820
mov esi, dword [esp + 0x70]
push esi
mov dword [esp + 0x18], eax
call fcn.00536aa0
mov ebp, eax
push ebp
call fcn.00567d90
push esi
mov dword [esp + 0x4c], eax
call fcn.005b98f0
push dword [esp + 0x80]
mov dword [esp + 0x68], eax
xor edi, edi
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x38], ebx
call fcn.005cd640
push esi
mov dword [esp + 0x44], eax
mov dword [esp + 0x64], ebx
call fcn.005f19f0
push esi
mov dword [esp + 0x44], eax
call fcn.005bd400
add esp, 0x18
mov dword [esp + 0x44], eax
mov dword [esp + 0x68], ebx
mov dword [esp + 0x64], ebx
cmp dword [esp + 0x14], ebx
je 0x6d8749
cmp dword [esp + 0x30], ebx
jle 0x6d8749
push ebp
call fcn.006d7880
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
test esi, esi
jne 0x6d8171
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0xa0
jmp 0x6d8758
push ebp
call fcn.005f06b0
push ebp
mov dword [esp + 0x20], eax
call fcn.005f06b0
push dword [esp + 0x34]
mov dword [esp + 0x28], eax
call fcn.0060f650
add esp, 0xc
mov ebx, eax
cmp dword [esp + 0x18], edi
je 0x6d8735
cmp dword [esp + 0x1c], edi
je 0x6d8735
test ebx, ebx
je 0x6d8735
push ebx
call fcn.0060f720
push ebx
call fcn.0060f4d0
push ebx
mov dword [esp + 0x2c], eax
call fcn.0060f4d0
push ebx
mov dword [esp + 0x58], eax
call fcn.0060f4d0
push ebx
mov dword [esp + 0x48], eax
call fcn.0060f4d0
push ebx
mov dword [esp + 0x64], eax
call fcn.0060f4d0
add esp, 0x18
mov dword [esp + 0x38], eax
test eax, eax
jne 0x6d8213
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0xb4
push str.crypto_sm2_sm2_crypt.c
call fcn.005ccab0
push 0
push 0x80003
jmp 0x6d8769
push 0xb8
lea eax, [esi + esi]
push str.crypto_sm2_sm2_crypt.c
push eax
mov dword [esp + 0x48], eax
call fcn.005a9e00
push 0xb9
push str.crypto_sm2_sm2_crypt.c
push dword [esp + 0x44]
mov dword [esp + 0x28], eax
call fcn.005a9e00
add esp, 0x18
mov dword [esp + 0x28], eax
cmp dword [esp + 0x10], edi
je 0x6d8721
test eax, eax
je 0x6d8721
mov eax, dword [esp + 0x84]
push dword [eax]
push 0
push dword [esp + 0x88]
call fcn.006e1410
mov esi, dword [esp + 0x88]
push 0xc2
push str.crypto_sm2_sm2_crypt.c
push esi
call fcn.005a9e00
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x6d82b6
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0xc4
push str.crypto_sm2_sm2_crypt.c
call fcn.005ccab0
push 0
push 0xc0100
jmp 0x6d8769
push ebx
push 0
push dword [esp + 0x48]
push dword [esp + 0x2c]
call fcn.0063dee0
add esp, 0x10
test eax, eax
je 0x6d845a
push ebx
push 0
push 0
push dword [esp + 0x2c]
push dword [esp + 0x28]
push ebp
call fcn.005f0570
add esp, 0x18
test eax, eax
je 0x6d86ff
push ebx
push dword [esp + 0x50]
push dword [esp + 0x50]
push dword [esp + 0x24]
push ebp
call fcn.005f0280
add esp, 0x14
test eax, eax
je 0x6d86ff
push ebx
push dword [esp + 0x24]
push dword [esp + 0x60]
push 0
push dword [esp + 0x2c]
push ebp
call fcn.005f0570
add esp, 0x18
test eax, eax
je 0x6d86ff
push ebx
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push dword [esp + 0x28]
push ebp
call fcn.005f0280
add esp, 0x14
test eax, eax
je 0x6d86ff
push dword [esp + 0x24]
push dword [esp + 0x14]
push dword [esp + 0x3c]
call fcn.005adbf0
add esp, 0xc
test eax, eax
js 0x6d86ee
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
push ecx
add eax, ecx
push eax
push dword [esp + 0x40]
call fcn.005adbf0
add esp, 0xc
test eax, eax
js 0x6d86ee
push dword [esp + 0x44]
push dword [esp + 0x30]
push dword [esp + 0x7c]
push 0
push 0
push dword [esp + 0x50]
push dword [esp + 0x28]
push esi
push edi
call fcn.00654af0
add esp, 0x24
test eax, eax
je 0x6d86dd
xor cl, cl
xor eax, eax
test esi, esi
je 0x6d8430
cmp esi, 0x20
jb 0x6d8424
mov ecx, esi
xorps xmm2, xmm2
and ecx, 0xffffffe0
xorps xmm1, xmm1
nop dword [eax]
movups xmm0, xmmword [eax + edi]
por xmm2, xmm0
movups xmm0, xmmword [eax + edi + 0x10]
add eax, 0x20
por xmm1, xmm0
cmp eax, ecx
jb 0x6d83d0
por xmm1, xmm2
movaps xmm0, xmm1
psrldq xmm0, 8
por xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 4
por xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 2
por xmm1, xmm0
movups xmm0, xmm1
psrldq xmm0, 1
por xmm1, xmm0
movd ecx, xmm1
cmp eax, esi
jae 0x6d842c
or cl, byte [eax + edi]
inc eax
cmp eax, esi
jb 0x6d8424
test cl, cl
jne 0x6d846e
push dword [esp + 0x3c]
push 0
push dword [esp + 0x18]
call fcn.006e1410
push ebx
push 0
push dword [esp + 0x54]
push dword [esp + 0x38]
call fcn.0063dee0
add esp, 0x1c
test eax, eax
jne 0x6d82d1
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0xca
jmp 0x6d8758
mov ebp, dword [esp + 0x78]
xor edx, edx
cmp esi, 0x40
jb 0x6d850e
lea eax, [ebp - 1]
lea ecx, [esi - 1]
add eax, esi
add ecx, edi
cmp edi, eax
ja 0x6d8493
cmp ecx, ebp
jae 0x6d850e
mov eax, esi
lea ecx, [ebp + 0x30]
and eax, 0xffffffc0
mov esi, ebp
sub esi, edi
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], esi
lea eax, [edi + 0x10]
mov esi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x58]
movups xmm0, xmmword [eax - 0x10]
add edx, 0x40
lea ecx, [ecx + 0x40]
lea eax, [eax + 0x40]
movups xmm1, xmmword [ecx - 0x70]
pxor xmm1, xmm0
movups xmmword [eax - 0x50], xmm1
movups xmm0, xmmword [eax - 0x40]
movups xmm1, xmmword [eax + ebp - 0x40]
pxor xmm1, xmm0
movups xmmword [eax - 0x40], xmm1
movups xmm0, xmmword [eax - 0x30]
movups xmm1, xmmword [ecx - 0x50]
pxor xmm1, xmm0
movups xmmword [eax - 0x30], xmm1
movups xmm0, xmmword [eax - 0x20]
movups xmm1, xmmword [ecx - 0x40]
pxor xmm1, xmm0
movups xmmword [eax - 0x20], xmm1
cmp edx, dword [esp + 0x50]
jne 0x6d84b2
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x58], edx
cmp edx, esi
je 0x6d8532
sub ebp, edi
lea ecx, [edx + edi]
mov dword [esp + 0x58], ebp
mov ebp, esi
mov esi, dword [esp + 0x58]
sub ebp, edx
nop
mov al, byte [ecx + esi]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
sub ebp, 1
jne 0x6d8520
mov esi, dword [esp + 0x7c]
push dword [esp + 0x44]
push dword [esp + 0x78]
call fcn.005cd5e0
add esp, 4
push eax
push dword [esp + 0x34]
call fcn.005b38b0
add esp, 0xc
mov dword [esp + 0x50], eax
test eax, eax
jne 0x6d856b
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0xed
jmp 0x6d8758
mov ebp, dword [esp + 0x14]
push eax
push ebp
call fcn.005b2ff0
add esp, 8
test eax, eax
je 0x6d86b8
push dword [esp + 0x24]
mov ebp, dword [esp + 0x14]
push ebp
push dword [esp + 0x1c]
call fcn.005b3050
add esp, 0xc
test eax, eax
je 0x6d86b8
push esi
push dword [esp + 0x7c]
push dword [esp + 0x1c]
call fcn.005b3050
add esp, 0xc
test eax, eax
je 0x6d86b8
mov eax, dword [esp + 0x24]
push eax
add eax, ebp
mov ebp, dword [esp + 0x18]
push eax
push ebp
call fcn.005b3050
add esp, 0xc
test eax, eax
je 0x6d86b8
push 0
push dword [esp + 0x2c]
push ebp
call fcn.005b2d10
add esp, 0xc
test eax, eax
je 0x6d86b8
mov eax, dword [esp + 0x48]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x60], eax
call fcn.005cc180
mov dword [esp + 0x64], eax
call fcn.005cc180
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x68], eax
test ecx, ecx
je 0x6d86a4
test eax, eax
je 0x6d86a4
push dword [esp + 0x30]
push dword [esp + 0x2c]
push ecx
call fcn.00611f00
add esp, 0xc
test eax, eax
je 0x6d8690
push esi
push edi
push dword [esp + 0x70]
call fcn.00611f00
add esp, 0xc
test eax, eax
je 0x6d8690
push 0x7b9508
lea eax, [esp + 0x84]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.005ecf90
add esp, 0xc
test eax, eax
jns 0x6d867a
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0x10b
jmp 0x6d8758
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x54], 1
mov dword [ecx], eax
jmp 0x6d8773
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0x104
jmp 0x6d8758
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0xff
jmp 0x6d82a0
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0xf5
push str.crypto_sm2_sm2_crypt.c
call fcn.005ccab0
push 0
push 0x80006
jmp 0x6d8769
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0xdf
jmp 0x6d86c7
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0xd8
jmp 0x6d8758
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0xd2
push str.crypto_sm2_sm2_crypt.c
call fcn.005ccab0
push 0
push 0x80010
jmp 0x6d8769
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0xbc
jmp 0x6d82a0
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0xa8
jmp 0x6d82a0
call fcn.005cc9b0
push str.ossl_sm2_encrypt
push 0x9a
push str.crypto_sm2_sm2_crypt.c
call fcn.005ccab0
push 0
push 0xc0103
push 0x35
call fcn.005ccb60
add esp, 0x18
push dword [esp + 0x50]
call fcn.005b38e0
push dword [esp + 0x6c]
call fcn.005cc070
push dword [esp + 0x6c]
call fcn.005cc070
push 0x116
push str.crypto_sm2_sm2_crypt.c
push edi
call fcn.005a9ba0
push 0x117
push str.crypto_sm2_sm2_crypt.c
push dword [esp + 0x30]
call fcn.005a9ba0
push 0x118
push str.crypto_sm2_sm2_crypt.c
push dword [esp + 0x54]
call fcn.005a9ba0
push dword [esp + 0x44]
call fcn.005b3790
push ebx
call fcn.0060f440
push dword [esp + 0x50]
call fcn.005f0250
push dword [esp + 0x58]
call fcn.005f0250
mov eax, dword [esp + 0x94]
add esp, 0x40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret