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

Disassembly:
mov eax, 0x48
call fcn.0059cab0
mov eax, dword [0x65fec0]
xor eax, esp
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x5c]
push ebx
mov dword [esp + 0x14], eax
xor ebx, ebx
mov eax, dword [esp + 0x64]
push ebp
mov dword [esp + 0x28], eax
xor ebp, ebp
mov eax, dword [esp + 0x6c]
push esi
mov dword [esp + 0x28], eax
xor esi, esi
mov eax, dword [esp + 0x74]
push edi
xor edi, edi
mov dword [esp + 0x24], ebp
and eax, 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
test eax, eax
je 0x522f52
push 0xe0
push str.cryptopempem_lib.c
push 0
push ebp
call fcn.00478b60
push 0xe0
push str.cryptopempem_lib.c
push 0
push esi
call fcn.00478b60
push 0xe0
push str.cryptopempem_lib.c
push ebx
push edi
call fcn.00478b60
add esp, 0x30
jmp 0x522f85
push 0xe2
push str.cryptopempem_lib.c
push ebp
call fcn.00476aa0
push 0xe2
push str.cryptopempem_lib.c
push esi
call fcn.00476aa0
push 0xe2
push str.cryptopempem_lib.c
push edi
call fcn.00476aa0
add esp, 0x24
push dword [esp + 0x78]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x34]
call fcn.00521ed0
add esp, 0x18
test eax, eax
je 0x5233b3
push dword [esp + 0x28]
mov ebp, dword [esp + 0x28]
push ebp
call fcn.00522470
add esp, 8
test eax, eax
jne 0x522fdb
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
jmp 0x522f14
mov ebx, dword [esp + 0x14]
xorps xmm0, xmm0
mov dword [esp + 0x50], 0
movups xmmword [esp + 0x40], xmm0
test ebx, ebx
je 0x523293
mov al, byte [ebx]
test al, al
je 0x523293
cmp al, 0xa
je 0x523293
push 0xa
push str.Proc_Type:
push ebx
call fcn.005ad600
add esp, 0xc
test eax, eax
je 0x523088
call fcn.00476d60
push str.PEM_get_EVP_CIPHER_INFO
push 0x1f6
push str.cryptopempem_lib.c
call fcn.00476e60
push 0
push 0x6b
push 9
call fcn.00476f10
add esp, 0x18
mov ebx, dword [esp + 0x10]
xor edi, edi
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x52332e
push 0xe0
push str.cryptopempem_lib.c
push 0
push ebp
call fcn.00478b60
add esp, 0x10
push 0xe0
push str.cryptopempem_lib.c
push 0
push dword [esp + 0x20]
call fcn.00478b60
add esp, 0x10
jmp 0x523357
lea edi, [ebx + 0xa]
push 0x61238c
push edi
call fcn.005af7c0
add edi, eax
add esp, 8
cmp byte [edi], 0x34
jne 0x523044
mov al, byte [edi + 1]
add edi, 2
cmp al, 0x2c
jne 0x523044
push 0x61238c
push edi
call fcn.005af7c0
push 9
add edi, eax
push 0x6121f4
push edi
call fcn.005ad600
add esp, 0x14
test eax, eax
jne 0x52330c
add edi, 9
push str.__t_r_n
push edi
call fcn.005af7c0
add esp, 8
test eax, eax
je 0x52330c
push 0x612398
push edi
call fcn.005af7c0
add edi, eax
add esp, 8
mov al, byte [edi]
inc edi
cmp al, 0xa
je 0x523121
call fcn.00476d60
push str.PEM_get_EVP_CIPHER_INFO
push 0x209
push str.cryptopempem_lib.c
call fcn.00476e60
push 0
push 0x70
jmp 0x52303a
push 9
push str.DEK_Info:
push edi
call fcn.005ad600
add esp, 0xc
test eax, eax
je 0x523157
call fcn.00476d60
push str.PEM_get_EVP_CIPHER_INFO
push 0x212
push str.cryptopempem_lib.c
call fcn.00476e60
push 0
push 0x69
jmp 0x52303a
add edi, 9
push 0x61238c
push edi
call fcn.005af7c0
add edi, eax
push 0x61239c
push edi
mov esi, edi
call fcn.005af770
mov bl, byte [edi + eax]
add edi, eax
push esi
mov byte [edi], 0
call fcn.004a58a0
push 0x61238c
mov dword [esp + 0x58], eax
push edi
mov dword [esp + 0x3c], eax
mov byte [edi], bl
call fcn.005af7c0
mov ebx, dword [esp + 0x3c]
add edi, eax
add esp, 0x1c
mov esi, edi
test ebx, ebx
jne 0x5231c7
call fcn.00476d60
push str.PEM_get_EVP_CIPHER_INFO
push 0x225
push str.cryptopempem_lib.c
call fcn.00476e60
push ebx
push 0x72
jmp 0x52303a
push ebx
call fcn.00471760
add esp, 4
test eax, eax
jle 0x523200
mov al, byte [edi]
inc edi
cmp al, 0x2c
je 0x523230
call fcn.00476d60
push str.PEM_get_EVP_CIPHER_INFO
push 0x22a
push str.cryptopempem_lib.c
call fcn.00476e60
push 0
push 0x81
jmp 0x52303a
mov edi, esi
test eax, eax
jne 0x523230
cmp byte [esi], 0x2c
jne 0x523230
call fcn.00476d60
push str.PEM_get_EVP_CIPHER_INFO
push 0x22d
push str.cryptopempem_lib.c
call fcn.00476e60
push 0
push 0x82
jmp 0x52303a
push ebx
call fcn.00471760
mov esi, eax
add esp, 4
test esi, esi
jle 0x52324f
push esi
lea eax, [esp + 0x48]
push 0
push eax
call fcn.0059e1f0
add esp, 0xc
lea ebx, [esi + esi]
xor esi, esi
test ebx, ebx
jle 0x523293
nop dword [eax + eax]
movzx eax, byte [esi + edi]
push eax
call fcn.0047a610
mov edx, eax
add esp, 4
test edx, edx
js 0x5232ea
mov eax, esi
test eax, eax
jns 0x52327c
add eax, 1
sar eax, 1
mov ecx, esi
inc esi
not ecx
and ecx, 1
shl ecx, 2
shl dl, cl
or byte [esp + eax + 0x44], dl
cmp esi, ebx
jl 0x523260
push dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x1c]
push dword [esp + 0x34]
push eax
lea eax, [esp + 0x4c]
push ebx
push eax
call fcn.00521910
add esp, 0x14
test eax, eax
je 0x523048
mov eax, dword [esp + 0x34]
mov edi, 1
mov ecx, dword [esp + 0x38]
mov dword [eax], ebx
mov eax, dword [esp + 0x18]
mov dword [ecx], eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x52304a
mov esi, dword [esp + 0x1c]
mov dword [eax], ebp
test esi, esi
je 0x523341
jmp 0x52306b
call fcn.00476d60
push str.load_iv
push 0x243
push str.cryptopempem_lib.c
call fcn.00476e60
push 0
push 0x67
jmp 0x52303a
call fcn.00476d60
push str.PEM_get_EVP_CIPHER_INFO
push 0x203
push str.cryptopempem_lib.c
call fcn.00476e60
push 0
push 0x6a
jmp 0x52303a
push 0xe2
push str.cryptopempem_lib.c
push ebp
call fcn.00476aa0
add esp, 0xc
push 0xe2
push str.cryptopempem_lib.c
push dword [esp + 0x1c]
call fcn.00476aa0
add esp, 0xc
test edi, edi
jne 0x52339e
test esi, esi
je 0x52338b
push 0xe0
push str.cryptopempem_lib.c
push dword [esp + 0x20]
push ebx
call fcn.00478b60
add esp, 0x10
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.0059c3d3
add esp, 0x48
ret
push 0xe2
push str.cryptopempem_lib.c
push ebx
call fcn.00476aa0
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x44]
xor ecx, esp
call fcn.0059c3d3
add esp, 0x48
ret
call fcn.004897e0
test eax, eax
mov ecx, 0x7fffff
mov edx, closesocket
cmovs ecx, edx
and ecx, eax
cmp ecx, 0x6c
jne 0x5233e1
push dword [esp + 0x28]
push str.Expecting:
push 2
call fcn.00489440
add esp, 0xc
mov ecx, dword [esp + 0x54]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0059c3d3
add esp, 0x48
ret