Function at 0x4e3e1f
Capabilities:
Encrypt data using blowfish

Disassembly:
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 4
jge 0x4e3f1b
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 3
ja case.default.0x4e3e18
mov edx, dword [ebp - 0x20]
jmp dword [edx*4 + 0x4e41a4]
and esi, esi
je 0x4e3e23
or ecx, ecx
add ebx, 0
jne 0x4e3e36
jg 0x4e3e2c
jne 0x4e3e2e
jns 0x4e3e30
xchg esp, esp
je 0x4e3e36
add eax, 0x8458b75
mov eax, dword [ebp + 8]
add eax, 0x400
mov dword [ebp - 0xc], eax
jmp case.default.0x4e3e18
jne 0x4e3e45
and esp, 0xffffffff
lea ecx, [ecx]
jae 0x4e3e54
nop
mov esi, esi
je 0x4e3e51
jb 0x4e3e54
mov edx, 0x89084d8b
dec ebp
hlt
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xc], ecx
jmp case.default.0x4e3e18
jbe 0x4e3e5e
je 0x4e3e60
mov edx, edx
and esi, esi
jo 0x4e3e8e
pushf
call fcn.004e3e6d
add esp, 4
xor edx, 0x7b7f
xor edx, 0x7b7f
add edx, 0
cmp edx, 0x8b1
popf
mov edx, edx
lea edi, [edi]
jno 0x4e3e8e
mov esp, 0x8108558b
ret 0xc48
mov edx, dword [ebp + 8]
add edx, 0xc48
mov dword [ebp - 0xc], edx
jmp case.default.0x4e3e18
cmp eax, dword [esp]
test dword [esp], eax
xor edi, 0
jnp 0x4e3eb4
pushf
inc edx
dec edx
jo 0x4e3ead
popf
jo 0x4e3eb1
jp 0x4e3eb4
mov ebx, 0x508458b
add byte [eax], cl
add byte [eax], al
mov eax, dword [ebp + 8]
add eax, 0x800
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x18], 0
jmp 0x4e3ed1
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 0x100
jge 0x4e3f16
xor esi, 0x2540
xor esi, 0x2540
jg 0x4e3efb
pushf
test dword [esp], ecx
add esp, 0
popf
xchg esp, esp
jl 0x4e3ef6
mov esp, esp
jle 0x4e3efb
mov ecx, 0xc1ec558b
loop 0x4e3f0b
mov edx, dword [ebp - 0x14]
shl edx, 0xa
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x18]
mov edx, dword [edx + esi*4 + 0x4c72b8]
mov dword [ecx + eax*4], edx
jmp 0x4e3ec8
xchg esp, eax
mov dl, 0xb8
jb 0x4e3f5c
add byte [ecx - 0x4d147eec], cl
jmp 0x4e3df2
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
jmp 0x4e3f34
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x12
jge 0x4e3fb8
mov dword [ebp - 0x18], 0
jmp 0x4e3f4c
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 4
jge 0x4e3f87
mov edx, dword [ebp - 8]
shl edx, 8
mov dword [ebp - 8], edx
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0x1c]
xor ecx, ecx
inc ebp
or al, 3
inc ebp
in al, 0x33
leave
mov cl, byte [eax]
mov edx, dword [ebp - 8]
or edx, ecx
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp + 0x10]
jl 0x4e3f85
mov dword [ebp - 0x1c], 0
jmp 0x4e3f43
jae 0x4e3f89
jno 0x4e3f99
pushf
cmc
and ebx, ebx
popf
xchg edx, edx
xchg esp, esp
jo 0x4e3f99
add eax, 0x8bec558b
add al, 0x95
add al, 0x88
dec esp
add byte [ebx], dh
inc ebp
clc
mov edx, dword [ebp - 0x14]
mov eax, dword [edx*4 + 0x4c8804]
xor eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov dword [edx + ecx*4 + 0xc00], eax
jmp 0x4e3f2b
test dword [esp + 4], esi
lea esi, [esi]
jno 0x4e3fc0
jb 0x4e3fd0
pushf
ror esp, 0
popf
jns 0x4e3fcb
jno 0x4e3fcd
jae 0x4e3fd0
add edi, 0xfc45
add byte [eax], al
mov dword [ebp - 4], 0
stc
xchg esi, eax
xchg esi, eax
ror ebx, 0
jne 0x4e3ff3
pushf
not ebx
not ebx
cld
cmp esp, 0x5f82
popf
jno 0x4e3ff0
je 0x4e3ff3
sub eax, 0xf045c7
add byte [eax], al
add bh, al
inc ebp
in al, dx
add byte [eax], al
add byte [eax], al
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
jmp 0x4e400c
mov eax, dword [ebp - 0x14]
add eax, 2
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x12
jge 0x4e4057
xchg edx, edx
xchg ebx, edx
xchg ebx, edx
mov eax, eax
jge 0x4e4021
jle 0x4e401e
jl 0x4e4021
mov ebp, 0x51f04d8d
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.004e3a9d
add esp, 0xc
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 4]
mov dword [edx + ecx*4 + 0xc00], eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x10]
mov dword [edx + ecx*4 + 0xc04], eax
jmp 0x4e4003
mov dword [ebp - 0x14], 0
jmp 0x4e4069
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 4
jge 0x4e4199
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 3
ja case.default.0x4e4086
mov eax, dword [ebp - 0x24]
jmp dword [eax*4 + 0x4e41b4]
mov esp, esp
jmp 0x4e4091
mov ebx, ebx
je 0x4e40ac
pushf
test dword [esp], esi
shl esp, 0
neg ebx
neg ebx
popf
jns 0x4e40a5
je 0x4e40a7
lea esi, [esi]
jne 0x4e40ac
sub eax, 0x81084d8b
rol dword [eax], 4
add byte [eax], al
mov ecx, dword [ebp + 8]
add ecx, 0x400
mov dword [ebp - 0xc], ecx
jmp case.default.0x4e4086
jg 0x4e40bc
shl ecx, 0
or esp, 0
jnp 0x4e40c4
jge 0x4e40d4
pushf
lea edi, [edi]
ror esp, 0
popf
jl 0x4e40d1
jl 0x4e40d4
xor eax, 0x8908558b
push ebp
hlt
mov edx, dword [ebp + 8]
mov dword [ebp - 0xc], edx
jmp case.default.0x4e4086
xor ecx, dword [esp]
xor ecx, dword [esp]
jns 0x4e40f0
jae 0x4e40e6
xchg esp, esp
jg 0x4e40ea
jge 0x4e40ec
js 0x4e40f0
ljmp 0x4805:0x8458bd7
mov eax, dword [ebp + 8]
add eax, 0xc48
mov dword [ebp - 0xc], eax
jmp case.default.0x4e4086
test ecx, esi
nop
jne 0x4e4108
nop
jmp 0x4e4105
je 0x4e4108
lcall 0xc1, 0x81084d8b
or byte [eax], al
add byte [ecx + 0x45c7f44d], cl
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp + 8]
add ecx, 0x800
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x18], 0
jmp 0x4e4126
mov edx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0x100
jge 0x4e4194
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004e3a9d
add esp, 0xc
xor ebx, dword [esp]
xor ebx, dword [esp]
xor ebx, dword [esp]
xor ebx, dword [esp]
jns 0x4e4165
pushf
add esp, 0
xor ecx, edi
xor ecx, edi
popf
lea ebx, [ebx]
xchg esp, esp
ja 0x4e4162
js 0x4e4165
mov ecx, 0x8be8458b
dec ebp
hlt
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov dword [ecx + eax*4], edx
nop
test esp, 0xcb4
cld
jns 0x4e4185
js 0x4e417d
jle 0x4e417f
je 0x4e4181
js 0x4e4185
mov esp, 0xe8458b9e
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov dword [ecx + eax*4 + 4], edx
jmp 0x4e411d
jmp 0x4e4060
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc