Function at 0x4a38b9
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 8], edi
call fcn.0046c578
push dword [ebp + 8]
mov esi, eax
mov dword [ebp - 0x10], esi
call fcn.00457ec4
mov ebx, eax
push ebx
call fcn.0045682b
push dword [ebp + 8]
mov dword [ebp - 0x3c], eax
call fcn.00455bdd
push dword [ebp + 0xc]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x1c], edi
call fcn.00466091
add esp, 0x10
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x4c], edi
test esi, esi
je 0x4a3c86
test eax, eax
jle 0x4a3c86
push ebx
call fcn.004a342f
mov esi, eax
mov dword [ebp - 0x24], esi
pop ecx
test esi, esi
jne 0x4a3939
push 0x93
jmp 0x4a3c8b
push ebx
call fcn.00476941
push ebx
mov dword [ebp - 0x14], eax
call fcn.00476941
pop ecx
pop ecx
mov dword [ebp - 0x18], eax
call fcn.00460bd6
mov dword [ebp - 8], eax
cmp dword [ebp - 0x14], edi
je 0x4a3c7a
cmp dword [ebp - 0x18], edi
je 0x4a3c7a
test eax, eax
je 0x4a3c7a
push eax
call fcn.00460c34
push dword [ebp - 8]
call fcn.00460b77
push dword [ebp - 8]
mov dword [ebp - 0x20], eax
call fcn.00460b77
push dword [ebp - 8]
mov dword [ebp - 0x30], eax
call fcn.00460b77
push dword [ebp - 8]
mov dword [ebp - 0x28], eax
call fcn.00460b77
push dword [ebp - 8]
mov dword [ebp - 0x34], eax
call fcn.00460b77
add esp, 0x18
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x4a39c5
push 0xa7
mov esi, str.d:package_cacheopenssl1.1.1g.2crypto_sm2_sm2_crypt.c
push esi
push 3
jmp 0x4a3c93
lea eax, [esi + esi]
mov esi, str.d:package_cacheopenssl1.1.1g.2crypto_sm2_sm2_crypt.c
push 0xab
push esi
push eax
mov dword [ebp - 0x44], eax
call fcn.0045ac7d
push 0xac
push esi
push dword [ebp - 0x38]
mov dword [ebp - 0xc], eax
call fcn.0045ac7d
add esp, 0x18
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0xc], edi
je 0x4a3c70
test eax, eax
je 0x4a3c70
mov eax, dword [ebp + 0x1c]
push dword [eax]
push edi
push dword [ebp + 0x18]
call fcn.0055fb20
push dword [ebp - 0x3c]
push dword [ebp - 0x20]
call fcn.0047f3fe
add esp, 0x14
test eax, eax
jne 0x4a3a2e
push 0xb6
jmp 0x4a3c90
push dword [ebp - 8]
push edi
push edi
push dword [ebp - 0x20]
push dword [ebp - 0x14]
push ebx
call fcn.00476903
add esp, 0x18
test eax, eax
je 0x4a3c66
push dword [ebp - 8]
push dword [ebp - 0x34]
push dword [ebp - 0x30]
push dword [ebp - 0x14]
push ebx
call fcn.0047671c
add esp, 0x14
test eax, eax
je 0x4a3c66
push dword [ebp - 8]
push dword [ebp - 0x20]
push dword [ebp - 0x40]
push edi
push dword [ebp - 0x18]
push ebx
call fcn.00476903
add esp, 0x18
test eax, eax
je 0x4a3c66
push dword [ebp - 8]
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x18]
push ebx
call fcn.0047671c
add esp, 0x14
test eax, eax
je 0x4a3c66
mov ebx, dword [ebp - 0x24]
push ebx
push dword [ebp - 0xc]
push dword [ebp - 0x28]
call fcn.0045f896
add esp, 0xc
test eax, eax
js 0x4a3c5f
mov eax, dword [ebp - 0xc]
add eax, ebx
push ebx
push eax
push dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
call fcn.0045f896
add esp, 0xc
test eax, eax
js 0x4a3c5f
mov ebx, dword [ebp + 0x14]
push 0xc8
push esi
push ebx
call fcn.0045ac7d
add esp, 0xc
mov dword [ebp - 4], eax
test eax, eax
jne 0x4a3b0b
push 0xca
push esi
push 0x41
push 0x67
push 0x35
call fcn.0045b321
mov ebx, dword [ebp - 4]
jmp 0x4a3c9e
push dword [ebp + 0xc]
push edi
push edi
push dword [ebp - 0x44]
push dword [ebp - 0xc]
push ebx
push eax
call fcn.004a2983
add esp, 0x1c
test eax, eax
jne 0x4a3b2e
push 0xd1
push esi
push 6
jmp 0x4a3afa
test ebx, ebx
je 0x4a3b48
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 4]
sub edx, ecx
mov al, byte [edx + ecx]
xor byte [ecx], al
inc ecx
sub ebx, 1
jne 0x4a3b3a
mov ebx, dword [ebp + 0x14]
push dword [ebp + 0xc]
push dword [ebp - 0x10]
call fcn.0046c26b
pop ecx
pop ecx
test eax, eax
je 0x4a3c55
push dword [ebp - 0x24]
push dword [ebp - 0xc]
push dword [ebp - 0x10]
call fcn.0046c409
add esp, 0xc
test eax, eax
je 0x4a3c55
push ebx
push dword [ebp + 0x10]
push dword [ebp - 0x10]
call fcn.0046c409
add esp, 0xc
test eax, eax
je 0x4a3c55
push dword [ebp - 0x24]
push dword [ebp - 0x40]
push dword [ebp - 0x10]
call fcn.0046c409
add esp, 0xc
test eax, eax
je 0x4a3c55
push edi
push dword [ebp - 0x1c]
push dword [ebp - 0x10]
call fcn.0046c154
add esp, 0xc
test eax, eax
je 0x4a3c55
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x50], eax
call fcn.00456840
mov dword [ebp - 0x4c], eax
call fcn.00456840
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x4c], edi
je 0x4a3c4b
test eax, eax
je 0x4a3c4b
push dword [ebp - 0x38]
push dword [ebp - 0x1c]
push dword [ebp - 0x4c]
call fcn.0046fda1
add esp, 0xc
test eax, eax
je 0x4a3c41
push ebx
mov ebx, dword [ebp - 4]
push ebx
push dword [ebp - 0x48]
call fcn.0046fda1
add esp, 0xc
test eax, eax
je 0x4a3c44
push 0x5cf038
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.0045efaf
add esp, 0xc
test eax, eax
jns 0x4a3c37
push 0xf3
push esi
push 0x44
push 0x67
push 0x35
call fcn.0045b321
jmp 0x4a3c9e
mov ecx, dword [ebp + 0x1c]
xor edi, edi
inc edi
mov dword [ecx], eax
jmp 0x4a3ca1
mov ebx, dword [ebp - 4]
push 0xec
jmp 0x4a3c29
push 0xe7
jmp 0x4a3af7
push 0xdd
jmp 0x4a3b29
push 0xc4
jmp 0x4a3c90
push 0xbe
push esi
push 0x10
jmp 0x4a3c93
push 0xaf
push esi
push 0x41
jmp 0x4a3c93
push 0x9b
mov esi, str.d:package_cacheopenssl1.1.1g.2crypto_sm2_sm2_crypt.c
jmp 0x4a3c75
push 0x8d
mov esi, str.d:package_cacheopenssl1.1.1g.2crypto_sm2_sm2_crypt.c
push esi
push 0x44
push 0x67
push 0x35
call fcn.0045b321
mov ebx, edi
add esp, 0x14
push dword [ebp - 0x48]
call fcn.00456c7d
push dword [ebp - 0x4c]
call fcn.00456c7d
push 0xfd
push esi
push ebx
call fcn.0045ab1e
push 0xfe
push esi
push dword [ebp - 0xc]
call fcn.0045ab1e
push 0xff
push esi
push dword [ebp - 0x1c]
call fcn.0045ab1e
push dword [ebp - 0x10]
call fcn.0046c559
push dword [ebp - 8]
call fcn.00460b3b
push dword [ebp - 0x14]
call fcn.004766ee
push dword [ebp - 0x18]
call fcn.004766ee
add esp, 0x3c
mov eax, edi
pop edi
pop esi
pop ebx
leave
ret