Function at 0x5e5867
Capabilities:
Encode data using base64
Execute anti-debugging instructions
Parse pe header
Resolve function by parsing pe exports

Disassembly:
pushfd
mov eax, eax
xchg edx, esi
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, esi
mov esi, dword [esp]
xchg esi, edx
mov edx, dword [esp + 4]
push esi
xchg esi, edx
pop edx
lea esi, [esi + 0x5d]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x7e]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], esi
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x25]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
mov dword [esp + 4], esi
push edx
mov edx, eax
pop edx
xchg esi, eax
mov eax, dword [esp]
push esi
xchg esi, eax
pop eax
lea esp, [esp + 4]
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x13]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
xchg edi, eax
push ecx
mov ecx, dword [esp]
pop ecx
lea esp, [esp - 4]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x41]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
mov dword [esp], edi
lea edx, [edx]
xchg edi, ecx
mov ecx, eax
push edi
xchg edi, ecx
pop ecx
xchg ecx, eax
mov ecx, dword [esp]
push eax
xchg ecx, eax
pop ecx
xchg edx, eax
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x11]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
lea esp, [esp - 4]
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x39]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
mov dword [esp], eax
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x15]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
mov ecx, edx
push eax
xchg ecx, eax
pop ecx
xchg edx, ecx
mov ecx, dword [esp]
push edx
xchg edx, ecx
pop ecx
rdtsc
lea eax, [eax]
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, ecx
mov ecx, dword [esp]
xchg ecx, eax
mov eax, dword [esp + 0xe]
push ecx
xchg ecx, eax
pop eax
xchg ecx, eax
xchg dword [esp], eax
xchg ecx, eax
lea esp, [esp + 4]
and eax, 1
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x7e]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg edx, ebp
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, ebp
mov ebp, dword [esp]
xchg ebp, eax
mov eax, esp
push ebp
xchg ebp, eax
pop eax
leave
push ebp
mov ebp, esp
leave
xchg ecx, edx
pushfd
add ebp, 0x53
popfd
lea ebp, [ebp - 0x53]
xchg dword [esp], ecx
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x13]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg ecx, edx
pushfd
add ebp, 2
popfd
lea ebp, [ebp - 2]
lea esp, [esp + 4]
mov ebx, ebx
xchg ecx, eax
push edi
mov edi, ebx
pop edi
xchg dword [esp], ecx
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x38]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x59]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
lea esp, [esp + 4]
push ebp
mov ebp, esp
leave
je 0x5d512c
jne 0x5d5078
jmp 0x5d512a
add byte [eax], al
lea eax, [ebp - 4]
pushfd
add ebp, 0x64
popfd
lea ebp, [ebp - 0x64]
pushfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x63]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
add ebp, 0x27
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 1]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
popfd
push ecx
mov ecx, edx
pop ecx
lea ebp, [ebp - 0x27]
push ebp
mov ebp, esp
leave
xchg ebx, eax
mov ebx, ebx
lea esp, [esp - 4]
push ebp
mov ebp, esp
leave
mov dword [esp], ebx
pushfd
add ebp, 0x6b
popfd
lea ebp, [ebp - 0x6b]
xchg ebx, esi
mov esi, eax
push ebx
xchg ebx, esi
pop esi
xchg ecx, eax
mov ecx, dword [esp]
push eax
xchg ecx, eax
pop ecx
lea esp, [esp - 4]
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x47]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
mov dword [esp], ecx
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x5a]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
mov eax, dword [esi + 0xc]
push ecx
xchg ecx, eax
pop eax
xchg dword [esp], ecx
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x31]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
pushfd
push ebp
mov ebp, esp
leave
xchg ecx, eax
lea esp, [esp - 4]
mov dword [esp], ecx
mov ecx, eax
mov eax, dword [esp]
xchg ecx, eax
mov ecx, dword [esp + 4]
push eax
xchg ecx, eax
pop ecx
lea eax, [eax + 0x35]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 7]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], eax
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x65]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
mov dword [esp + 4], eax
push eax
mov eax, dword [esp + 0xe]
pop eax
xchg esi, eax
mov esi, dword [esp]
push eax
xchg esi, eax
pop esi
lea esp, [esp + 4]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x73]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
call fcn.005d4ed8
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x53]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg esi, eax
lea esp, [esp - 4]
mov dword [esp], esi
mov esi, eax
mov eax, dword [esp]
xchg edi, eax
mov edi, dword [esp + 4]
push eax
xchg edi, eax
pop edi
lea eax, [eax + 0x4e]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x34]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], eax
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x2e]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
mov dword [esp + 4], eax
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x32]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
mov ecx, dword [esp]
push eax
xchg ecx, eax
pop ecx
lea esp, [esp + 4]
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x1f]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
je 0x5d4d94
jne 0x5d4d94
jmp 0x5d4d92
add byte [eax], al
popfd
mov ecx, ecx
xchg esi, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, esi
mov esi, dword [esp]
xchg esi, ecx
mov ecx, dword [esp + 4]
push esi
xchg esi, ecx
pop ecx
lea esi, [esi + 0x29]
push ebp
mov ebp, esp
leave
xchg dword [esp + 4], esi
mov eax, eax
mov dword [esp + 4], esi
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x24]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
xchg esi, eax
mov eax, dword [esp]
push esi
xchg esi, eax
pop eax
lea esp, [esp + 4]
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x31]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
je 0x5d82d8
jne 0x5d82d8
jmp 0x5d82d6
cmc
mov cs, word [ebp - 0x74ae03bb]
dec esp
and al, 4
lea eax, [ebp - 4]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x48]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg esi, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, esi
mov esi, dword [esp]
xchg esi, eax
mov eax, dword [esp + 4]
push esi
xchg esi, eax
pop eax
lea esi, [esi + 0x75]
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x36]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], esi
lea edi, [edi]
mov dword [esp + 4], esi
pushfd
add ebp, 0x15
popfd
lea ebp, [ebp - 0x15]
xchg esi, eax
mov eax, dword [esp]
push esi
xchg esi, eax
pop eax
lea esp, [esp + 4]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x79]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg ecx, eax
push ecx
mov ecx, dword [esp]
pop ecx
lea esp, [esp - 4]
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 5]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
mov dword [esp], ecx
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x5e]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg ecx, edx
mov edx, eax
push ecx
xchg ecx, edx
pop edx
xchg ebx, eax
mov ebx, dword [esp]
push eax
xchg ebx, eax
pop ebx
lea esp, [esp - 4]
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x4d]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
mov dword [esp], edx
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x48]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg edx, edi
mov edi, dword [esi + 0xc]
push edx
xchg edx, edi
pop edi
xchg dword [esp], edx
pushfd
add ebp, 0x63
popfd
lea ebp, [ebp - 0x63]
pushfd
push edi
mov edi, dword [esp + 4]
lea edi, [edi + 0x25]
xchg dword [esp + 4], edi
mov dword [esp + 4], edi
mov edi, dword [esp]
lea esp, [esp + 4]
xchg edi, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, edi
mov edi, dword [esp]
xchg edi, esi
mov esi, dword [esp + 4]
push edi
xchg edi, esi
pop esi
lea edi, [edi + 0x6e]
push eax
mov eax, esi
pop eax
xchg dword [esp + 4], edi
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x73]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
mov dword [esp + 4], edi
lea ecx, [ecx]
xchg edi, ecx
mov ecx, dword [esp]
push edi
xchg edi, ecx
pop ecx
lea esp, [esp + 4]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x3b]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
call fcn.005d8469
and al, 4
mov ecx, dword [esp]
lea esp, [esp + 4]
xchg edi, eax
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, eax
mov eax, dword [esp]
xchg edx, eax
mov edx, ecx
push eax
xchg edx, eax
pop edx
xchg ecx, eax
xchg dword [esp], ecx
xchg ecx, eax
lea esp, [esp + 4]
jmp 0x5d4ba4
call fcn.005dd7f0
sbb eax, 0xbf884a83
js 0x5d9297
call 0xe3bf1a52
sbb eax, 0x2de539a9
cmp al, 0xaa
fadd qword [esi + 0x2b]
sub eax, dword [0x98066f37]
fsubr dword [edx]
jle 0x5d9345
jp 0x5d931f
js 0x5d931a
call fcn.005dd878
js 0x5d9329
lahf
inc edx
shl dword [ecx - 0xc9fc0c1], 1
mov al, byte [0xece19395]
sahf
and byte [eax - 0x1c], 0x1e
pushal
in al, 0x1e
pop ecx
invalid
mov eax, ds
lcall 0, 0x24a48d
and al, 0
add byte [eax], al
add al, ch
mov ebx, 0x1f000046
pop ds
cmp esp, dword [edx]
push ebp
jo 0x5d9303
cld
inc esi
cmc
movsd dword es:[edi], dword [esi]
call fcn.005dda78
test eax, 0x58ec3563
xchg edi, eax
popal
mov ch, bl
jnp 0x5d93b8
das
mov bl, 0xff
xchg edi, eax
call fcn.005ddb04
inc esp
pop ds
stosd dword es:[edi], eax
or ah, dl
test dword [esi], ebx
cmp al, ch
cmp cl, byte [eax]
add cl, dl
test al, 0xb6
call fcn.005ddc4c
xchg byte [edi + 0x13], bh
invalid
and al, 0x87
invalid
push ebp
mov ebp, esp
leave
pushfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x51]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
add ebp, 0x24
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x65]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
popfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x15]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
lea ebp, [ebp - 0x24]
push ebx
mov ebx, dword [esp + 0xd]
pop ebx
add dword [esp], 0xffffded9
xchg dword [esp], ebx
pushfd
add ebp, 0x1f
popfd
lea ebp, [ebp - 0x1f]
xchg edx, eax
lea esp, [esp - 4]
mov dword [esp], eax
mov eax, edx
mov edx, dword [esp]
xchg edx, ebx
mov ebx, dword [esp + 4]
push edx
xchg edx, ebx
pop ebx
lea edx, [edx + 6]
pushfd
add ebp, 0x25
popfd
lea ebp, [ebp - 0x25]
xchg dword [esp + 4], edx
push edx
mov edx, dword [esp + 4]
lea edx, [edx + 0x29]
xchg dword [esp + 4], edx
mov dword [esp + 4], edx
mov edx, dword [esp]
lea esp, [esp + 4]
mov dword [esp + 4], edx
pushfd
add ebp, 0x10
popfd
lea ebp, [ebp - 0x10]
xchg edx, eax
mov eax, dword [esp]
push edx
xchg edx, eax
pop eax
lea esp, [esp + 4]
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x59]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], ebx
lea ebx, [ebx]
xchg edi, eax
lea esp, [esp - 4]
mov dword [esp], edi
mov edi, eax
mov eax, dword [esp]
xchg ecx, eax
mov ecx, dword [esp + 4]
push eax
xchg ecx, eax
pop ecx
lea eax, [eax + 0x60]
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x39]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], eax
pushfd
add ebp, 2
popfd
lea ebp, [ebp - 2]
mov dword [esp + 4], eax
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x4c]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
xchg ebx, eax
mov ebx, dword [esp]
push eax
xchg ebx, eax
pop ebx
lea esp, [esp + 4]
push ebp
mov ebp, esp
leave
xchg dword [esp], ebx
pushfd
add ebp, 0x6e
popfd
lea ebp, [ebp - 0x6e]
xchg edx, edi
lea esp, [esp - 4]
mov dword [esp], edx
mov edx, edi
mov edi, dword [esp]
xchg edi, ecx
mov ecx, dword [esp + 4]
push edi
xchg edi, ecx
pop ecx
lea edi, [edi + 0xa]
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x64]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
xchg dword [esp + 4], edi
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x13]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
mov dword [esp + 4], edi
pushfd
add ebp, 0x3e
popfd
lea ebp, [ebp - 0x3e]
xchg edi, eax
mov eax, dword [esp]
push edi
xchg edi, eax
pop eax
lea esp, [esp + 4]
push ebp
mov ebp, esp
leave
popfd
push eax
mov eax, dword [esp + 4]
lea eax, [eax + 0x5c]
xchg dword [esp + 4], eax
mov dword [esp + 4], eax
mov eax, dword [esp]
lea esp, [esp + 4]
pushfd
push ebp
mov ebp, esp
leave
add ebp, 0x60
push esi
mov esi, dword [esp + 4]
lea esi, [esi + 0x52]
xchg dword [esp + 4], esi
mov dword [esp + 4], esi
mov esi, dword [esp]
lea esp, [esp + 4]
popfd
push ecx
mov ecx, dword [esp + 4]
lea ecx, [ecx + 0x35]
xchg dword [esp + 4], ecx
mov dword [esp + 4], ecx
mov ecx, dword [esp]
lea esp, [esp + 4]
lea ebp, [ebp - 0x60]
push ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + 0x29]
xchg dword [esp + 4], ebx
mov dword [esp + 4], ebx
mov ebx, dword [esp]
lea esp, [esp + 4]
jmp 0x5d92c4