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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x7c
mov eax, dword [esp + 0x9c]
mov ebx, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0xa4]
mov eax, dword [sym.imp.libssp_0.dll___stack_chk_guard]
mov dword [esp + 0x6c], eax
xor eax, eax
cmp dword [esp + 0x98], 0x10
jbe 0x6b523f5c
mov eax, dword [esp + 0x98]
and eax, 0xf
je 0x6b523f78
lea edi, [eax + 0x10]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x98]
lea edx, [edi - 0x10]
mov edi, edx
sub edi, eax
jne 0x6b523f99
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x5c]
lea edi, [esp + 0x4c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0x38], ecx
mov dword [esp], ebx
call ecx
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x60]
cmp eax, 4
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x58], edx
lea edx, [ebx + 0x10]
mov dword [esp + 0x30], edx
jae 0x6b524030
test eax, eax
jne 0x6b524070
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], edi
mov dword [esp], edi
lea edi, [esi + 4]
mov dword [esp + 8], eax
call ecx
lea eax, [ebx + 4]
lea ecx, [ebp + 4]
cmp esi, eax
setae byte [esp + 0x2c]
cmp ebx, edi
setae dl
or dl, byte [esp + 0x2c]
cmp ebp, eax
setae al
cmp ebx, ecx
setae byte [esp + 0x2c]
or al, byte [esp + 0x2c]
and eax, edx
cmp ebp, edi
setae dl
cmp esi, ecx
setae cl
or edx, ecx
test al, dl
je 0x6b5241d8
mov eax, ebx
or eax, ebp
or eax, esi
test al, 3
jne 0x6b5241d8
mov edx, dword [ebx]
mov eax, dword [esp + 0x4c]
xor eax, dword [ebp]
mov dword [esi], eax
mov eax, dword [esp + 0x50]
mov dword [ebp], edx
mov edx, dword [ebx + 4]
xor eax, dword [ebp + 4]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x54]
mov dword [ebp + 4], edx
mov edx, dword [ebx + 8]
xor eax, dword [ebp + 8]
mov dword [esi + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp + 8], edx
mov edx, dword [ebx + 0xc]
xor eax, dword [esp + 0x58]
mov dword [esi + 0xc], eax
mov dword [ebp + 0xc], edx
mov edi, dword [esp + 0x30]
lea edx, [esi + 0x14]
lea eax, [esi + 0x10]
mov ebp, dword [esp + 0x34]
cmp edi, edx
lea edx, [ebx + 0x14]
setae cl
cmp eax, edx
setae dl
or edx, ecx
lea ecx, [ebp - 0x11]
cmp ecx, 2
seta cl
test dl, cl
je 0x6b524098
or eax, edi
test al, 3
jne 0x6b524098
lea eax, [ebp - 0x10]
mov edx, dword [ebx + 0x10]
xor edx, dword [esp + 0x5c]
mov ecx, eax
mov dword [esi + 0x10], edx
shr ecx, 2
cmp ecx, 1
je 0x6b523fd8
mov edx, dword [ebx + 0x14]
xor edx, dword [esp + 0x60]
mov dword [esi + 0x14], edx
cmp ecx, 2
je 0x6b523fd8
mov edx, dword [ebx + 0x18]
xor edx, dword [esp + 0x64]
mov dword [esi + 0x18], edx
cmp ecx, 4
jne 0x6b523fd8
mov eax, dword [ebx + 0x1c]
xor eax, dword [esp + 0x68]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x98]
add eax, 0x10
mov esi, dword [esp + 0x6c]
xor esi, dword [sym.imp.libssp_0.dll___stack_chk_guard]
jne 0x6b5242fb
add esp, 0x7c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 0x98]
mov eax, 0x10
mov dword [esp + 0x34], 0x20
lea edx, [edi - 0x10]
mov edi, edx
sub edi, eax
je 0x6b523dd2
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 4], esi
add esi, edi
mov dword [esp], ebx
add ebx, edi
mov dword [esp + 0x10], ebp
mov dword [esp + 8], edi
mov dword [esp + 0x30], ecx
call sym.libcrypto_1_1.dll_CRYPTO_cbc128_decrypt
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
jmp 0x6b523dd2
mov edx, eax
and edx, 0xfffffffc
cmp eax, edx
je 0x6b523f52
mov edi, dword [esp + 0x34]
movzx eax, byte [ebx + edx + 0x10]
lea ecx, [edx + 0x11]
xor al, byte [esp + edx + 0x5c]
mov byte [esi + edx + 0x10], al
cmp edi, ecx
jbe 0x6b523f52
movzx eax, byte [ebx + edx + 0x11]
lea ecx, [edx + 0x12]
xor al, byte [esp + edx + 0x5d]
mov byte [esi + edx + 0x11], al
cmp edi, ecx
jbe 0x6b523f52
movzx eax, byte [ebx + edx + 0x12]
xor al, byte [esp + edx + 0x5e]
mov byte [esi + edx + 0x12], al
jmp 0x6b523f52
mov edx, dword [edx + eax - 4]
mov dword [esp + eax + 0x48], edx
sub eax, 1
cmp eax, 4
jb 0x6b523e33
mov dword [esp + 0x3c], ecx
and eax, 0xfffffffc
xor edx, edx
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x30]
mov ecx, dword [ebx + edx]
mov dword [edi + edx], ecx
add edx, 4
cmp edx, eax
jb 0x6b524055
mov ebx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
jmp 0x6b523e33
movzx edx, byte [ebx + 0x10]
mov byte [edi], dl
test al, 2
je 0x6b523e33
mov edx, dword [esp + 0x30]
movzx edx, word [edx + eax - 2]
mov word [edi + eax - 2], dx
jmp 0x6b523e33
mov edi, dword [esp + 0x34]
movzx eax, byte [esp + 0x5c]
xor al, byte [ebx + 0x10]
mov byte [esi + 0x10], al
cmp edi, 0x11
je 0x6b523f52
movzx eax, byte [ebx + 0x11]
xor al, byte [esp + 0x5d]
mov byte [esi + 0x11], al
cmp edi, 0x12
je 0x6b523f52
movzx eax, byte [ebx + 0x12]
xor al, byte [esp + 0x5e]
mov byte [esi + 0x12], al
cmp edi, 0x13
je 0x6b523f52
movzx eax, byte [esp + 0x5f]
xor al, byte [ebx + 0x13]
mov byte [esi + 0x13], al
cmp edi, 0x14
je 0x6b523f52
movzx eax, byte [esp + 0x60]
xor al, byte [ebx + 0x14]
mov byte [esi + 0x14], al
cmp edi, 0x15
je 0x6b523f52
movzx eax, byte [esp + 0x61]
xor al, byte [ebx + 0x15]
mov byte [esi + 0x15], al
cmp edi, 0x16
je 0x6b523f52
movzx eax, byte [esp + 0x62]
xor al, byte [ebx + 0x16]
mov byte [esi + 0x16], al
cmp edi, 0x17
je 0x6b523f52
movzx eax, byte [esp + 0x63]
xor al, byte [ebx + 0x17]
mov byte [esi + 0x17], al
cmp edi, 0x18
je 0x6b523f52
movzx eax, byte [esp + 0x64]
xor al, byte [ebx + 0x18]
mov byte [esi + 0x18], al
cmp edi, 0x19
je 0x6b523f52
movzx eax, byte [esp + 0x65]
xor al, byte [ebx + 0x19]
mov byte [esi + 0x19], al
cmp edi, 0x1a
je 0x6b523f52
movzx eax, byte [esp + 0x66]
xor al, byte [ebx + 0x1a]
mov byte [esi + 0x1a], al
cmp edi, 0x1b
je 0x6b523f52
movzx eax, byte [esp + 0x67]
xor al, byte [ebx + 0x1b]
mov byte [esi + 0x1b], al
cmp edi, 0x1c
je 0x6b523f52
movzx eax, byte [esp + 0x68]
xor al, byte [ebx + 0x1c]
mov byte [esi + 0x1c], al
cmp edi, 0x1d
je 0x6b523f52
movzx eax, byte [esp + 0x69]
xor al, byte [ebx + 0x1d]
mov byte [esi + 0x1d], al
cmp edi, 0x1e
je 0x6b523f52
movzx eax, byte [esp + 0x6a]
xor al, byte [ebx + 0x1e]
mov byte [esi + 0x1e], al
cmp edi, 0x20
jne 0x6b523f52
movzx eax, byte [esp + 0x6b]
xor al, byte [ebx + 0x1f]
mov byte [esi + 0x1f], al
jmp 0x6b523f52
movzx edx, byte [ebx]
movzx eax, byte [esp + 0x4c]
xor al, byte [ebp]
mov byte [esi], al
movzx eax, byte [esp + 0x4d]
mov byte [ebp], dl
movzx edx, byte [ebx + 1]
xor al, byte [ebp + 1]
mov byte [esi + 1], al
movzx eax, byte [esp + 0x4e]
mov byte [ebp + 1], dl
movzx edx, byte [ebx + 2]
xor al, byte [ebp + 2]
mov byte [esi + 2], al
movzx eax, byte [esp + 0x4f]
mov byte [ebp + 2], dl
movzx edx, byte [ebx + 3]
xor al, byte [ebp + 3]
mov byte [esi + 3], al
movzx eax, byte [esp + 0x50]
mov byte [ebp + 3], dl
movzx edx, byte [ebx + 4]
xor al, byte [ebp + 4]
mov byte [esi + 4], al
movzx eax, byte [esp + 0x51]
mov byte [ebp + 4], dl
movzx edx, byte [ebx + 5]
xor al, byte [ebp + 5]
mov byte [esi + 5], al
movzx eax, byte [esp + 0x52]
mov byte [ebp + 5], dl
movzx edx, byte [ebx + 6]
xor al, byte [ebp + 6]
mov byte [esi + 6], al
movzx eax, byte [esp + 0x53]
mov byte [ebp + 6], dl
movzx edx, byte [ebx + 7]
xor al, byte [ebp + 7]
mov byte [esi + 7], al
movzx eax, byte [esp + 0x54]
mov byte [ebp + 7], dl
movzx edx, byte [ebx + 8]
xor al, byte [ebp + 8]
mov byte [esi + 8], al
movzx eax, byte [esp + 0x55]
mov byte [ebp + 8], dl
movzx edx, byte [ebx + 9]
xor al, byte [ebp + 9]
mov byte [esi + 9], al
movzx eax, byte [esp + 0x56]
mov byte [ebp + 9], dl
movzx edx, byte [ebx + 0xa]
xor al, byte [ebp + 0xa]
mov byte [esi + 0xa], al
movzx eax, byte [esp + 0x57]
mov byte [ebp + 0xa], dl
movzx edx, byte [ebx + 0xb]
xor al, byte [ebp + 0xb]
mov byte [esi + 0xb], al
movzx eax, byte [esp + 0x58]
mov byte [ebp + 0xb], dl
movzx edx, byte [ebx + 0xc]
xor al, byte [ebp + 0xc]
mov byte [esi + 0xc], al
mov byte [ebp + 0xc], dl
movzx edx, byte [ebx + 0xd]
movzx eax, byte [esp + 0x59]
xor al, byte [ebp + 0xd]
mov byte [esi + 0xd], al
movzx eax, byte [esp + 0x5a]
mov byte [ebp + 0xd], dl
movzx edx, byte [ebx + 0xe]
xor al, byte [ebp + 0xe]
mov byte [esi + 0xe], al
movzx eax, byte [esp + 0x5b]
mov byte [ebp + 0xe], dl
movzx edx, byte [ebx + 0xf]
xor al, byte [ebp + 0xf]
mov byte [esi + 0xf], al
mov byte [ebp + 0xf], dl
jmp 0x6b523ecf
call sym.___stack_chk_fail