Function at 0x49924f
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 0x4992f0
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 3
ja case.default.0x499209
mov edx, dword [ebp - 0x20]
jmp dword [edx*4 + 0x499585]
mov eax, eax
ja 0x49922c
pushf
clc
popf
xchg ecx, edi
xchg ecx, edi
lea ecx, [ecx + 0x66a4]
lea ecx, [ecx - 0x66a4]
jbe 0x49922c
jmp 0x551d7bb
mov eax, dword [ebp + 8]
add eax, 0x400
mov dword [ebp - 0xc], eax
jmp case.default.0x499209
jp 0x49923b
jp 0x499247
xchg ebx, eax
xchg ebx, eax
nop
lea edi, [edi]
jb 0x499244
jnp 0x499247
call 0x8951dfd6
dec ebp
hlt
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xc], ecx
jmp case.default.0x499209
or esp, 0
sub edi, 0
test eax, 0x48bb
jbe 0x49926a
pushf
cmp ebx, edx
xor esp, 0
popf
jmp 0x499267
ja 0x49926a
or dword [ebx - 0x3d7ef7ab], 0xc48
mov edx, dword [ebp + 8]
add edx, 0xc48
mov dword [ebp - 0xc], edx
jmp case.default.0x499209
add esp, 0
js 0x49928a
jg 0x49927f
xchg edx, edx
xchg edx, ebx
xchg edx, ebx
jb 0x499287
jns 0x49928a
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 0x4992a7
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 0x100
jge 0x4992eb
xor esi, eax
xor esi, eax
test edi, esi
ja 0x4992d0
pushf
js 0x4992bc
call fcn.004992c1
lea esp, [esp + 4]
popf
xchg esi, esi
xchg ecx, eax
xchg ecx, eax
ja 0x4992cd
jbe 0x4992d0
mov edi, 0xc1ec558b
loop 0x4992e0
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 + 0x46cc1c]
mov dword [ecx + eax*4], edx
jmp 0x49929e
xchg esp, eax
mov dl, 0x1c
int3
jmp 0x4991e3
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
jmp 0x499309
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x12
jge 0x49938c
mov dword [ebp - 0x18], 0
jmp 0x499321
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 4
jge 0x49935c
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
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 0x49935a
mov dword [ebp - 0x1c], 0
jmp 0x499318
or ecx, ecx
mov esi, esi
jbe 0x49936d
pushf
jg 0x499366
popf
lea esi, [esi]
ja 0x49936d
add eax, 0x8bec558b
add al, 0x95
sbb bh, bl
inc esi
add byte [ebx], dh
inc ebp
clc
mov edx, dword [ebp - 0x14]
mov eax, dword [edx*4 + 0x46df18]
xor eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov dword [edx + ecx*4 + 0xc00], eax
jmp 0x499300
mov eax, eax
cmp esp, 0x71ec
ror ecx, 0x12
ror ecx, 0xe
neg eax
neg eax
jnp 0x4993b2
pushf
xchg edx, edi
xchg edx, edi
shr edx, 0
popf
xchg esi, esi
jmp 0x4993af
jp 0x4993b2
mov edx, 0xfc45c7
add byte [eax], al
add byte [ebx + 0x3c3b00c7], al
and al, 0x7c
add byte [ecx + 6], dh
mov dword [ebp - 4], 0
add edi, 0
cmp edi, dword [esp]
jl 0x4993c1
jno 0x4993c9
lea eax, [eax]
jo 0x4993c9
sub eax, 0xf045c70f
add byte [eax], al
add byte [eax], al
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
jmp 0x4993e2
mov eax, dword [ebp - 0x14]
add eax, 2
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x12
jge 0x499446
sub esi, 0
jle 0x499410
pushf
lea eax, [eax + 0x7f62]
lea eax, [eax - 0x7f62]
cmp esp, 0x2157
cmp esp, 0x415b
xchg esp, esp
popf
js 0x49940d
jg 0x499410
mov esp, 0x51f04d8d
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0047a3e0
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 0x4993d9
mov dword [ebp - 0x14], 0
jmp 0x499458
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 4
jge 0x49957a
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 3
ja case.default.0x499471
mov eax, dword [ebp - 0x24]
jmp dword [eax*4 + 0x499595]
test dword [esp + 8], esi
ror eax, 0
je 0x499488
jmp 0x499483
lea edx, [edx]
jne 0x499488
add 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.0x499471
mov ecx, ecx
lea ebx, [ebx]
ja 0x49949c
jo 0x49949e
jae 0x4994a5
jns 0x4994a2
jb 0x4994a5
mov ecx, 0x8908558b
push ebp
hlt
mov edx, dword [ebp + 8]
mov dword [ebp - 0xc], edx
jmp case.default.0x499471
or esp, 0
inc edx
dec edx
jne 0x4994b9
jns 0x4994b6
je 0x4994b9
xor eax, 0x508458b
dec eax
or al, 0
add byte [ecx + 0x1cebf445], cl
mov eax, dword [ebp + 8]
add eax, 0xc48
mov dword [ebp - 0xc], eax
jmp case.default.0x499471
test edx, ecx
lea ebx, [ebx]
lea esp, [esp]
jbe 0x4994d6
jno 0x4994d1
jp 0x4994d3
ja 0x4994d6
call 0x8151e265
rol dword [eax], 8
add byte [eax], al
mov ecx, dword [ebp + 8]
add ecx, 0x800
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x18], 0
jmp 0x4994f4
mov edx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0x100
jge 0x499575
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0047a3e0
add esp, 0xc
lea edx, [edx + 0x7a12]
lea edx, [edx - 0x7a12]
jle 0x499542
pushf
jp 0x499523
test eax, edx
xchg esi, ebx
xchg esi, ebx
rol edi, 0
popf
lea edi, [edi + 0x135e]
lea edi, [edi - 0x135e]
lea esp, [esp]
mov eax, eax
jg 0x499542
mov ebx, 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
xor edi, 0
jl 0x499563
pushf
xchg esp, esp
jnp 0x499559
or eax, 0
popf
jae 0x499560
jge 0x499563
mov eax, 0x8be8458b
dec ebp
hlt
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov dword [ecx + eax*4 + 4], edx
jmp 0x4994eb
jmp 0x49944f
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc