Function at 0x45ce00
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Encrypt data using blowfish

Disassembly:
push ebp
mov eax, 0x10ac
mov ebp, esp
push edi
push esi
push ebx
call fcn.004697b0
mov eax, dword [0x4c0590]
mov ebx, dword [ebp + 8]
test eax, eax
je 0x45ce45
mov eax, dword [0x4c05a0]
mov esi, 0x32
test eax, eax
je 0x45cfbb
mov eax, 0x40
call sym._burn_stack
add esp, 0x10ac
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 1
mov edi, 0x4bb818
lea esi, [ebp - 0x1098]
mov dword [0x4c0590], eax
mov eax, dword [str.BLOWFISH]
mov byte [ebp - 0x1080], 0xfe
mov byte [ebp - 0x107f], 0xdc
mov dword [ebp - 0x1078], eax
mov eax, dword [0x4bb825]
mov byte [ebp - 0x107e], 0xba
mov byte [ebp - 0x107d], 0x98
mov dword [ebp - 0x1074], eax
movzx eax, byte [0x4bb829]
mov byte [ebp - 0x107c], 0x76
mov byte [ebp - 0x107b], 0x54
mov byte [ebp - 0x107a], 0x32
mov byte [ebp - 0x1070], al
mov eax, 0x1a
mov byte [ebp - 0x1079], 0x10
mov byte [ebp - 0x1088], 0x41
mov byte [ebp - 0x1087], 0x79
mov byte [ebp - 0x1086], 0x6e
mov byte [ebp - 0x1085], 0xa0
mov byte [ebp - 0x1084], 0x52
mov byte [ebp - 0x1083], 0x61
mov byte [ebp - 0x1082], 0x6e
mov byte [ebp - 0x1081], 0xe4
mov byte [ebp - 0x1090], 0xe1
mov byte [ebp - 0x108f], 0x13
mov byte [ebp - 0x108e], 0xf4
mov byte [ebp - 0x108d], 0x10
mov byte [ebp - 0x108c], 0x2c
mov byte [ebp - 0x108b], 0xfc
mov byte [ebp - 0x108a], 0xce
mov byte [ebp - 0x1089], 0x43
mov dword [esp + 8], eax
mov eax, str.abcdefghijklmnopqrstuvwxyz
mov dword [esp + 4], eax
lea eax, [ebp - 0x1068]
mov dword [esp], eax
call sym._bf_setkey
lea edx, [ebp - 0x1078]
lea eax, [ebp - 0x1098]
mov dword [esp + 8], edx
lea edx, [ebp - 0x1068]
mov dword [esp + 4], eax
mov dword [esp], edx
call sym._encrypt_block
cld
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
mov ecx, str.Blowfish_selftest_failed__1_.
je 0x45d236
mov dword [0x4c05a0], ecx
test ecx, ecx
je 0x45cfbb
mov dword [esp + 8], ecx
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov edi, 0x4bb863
mov dword [esp + 4], edi
mov esi, 0x32
add eax, 0x40
mov dword [esp], eax
call sym._fprintf
mov eax, dword [0x4c05a0]
test eax, eax
jne 0x45ce2e
xor esi, esi
mov eax, dword [esi*4 + 0x4bb7d0]
mov dword [ebx + esi*4 + 0x1000], eax
inc esi
cmp esi, 0x11
jle 0x45cfbd
xor esi, esi
lea esi, [esi]
lea edi, [edi]
mov eax, dword [esi*4 + 0x4bafd0]
mov edx, dword [esi*4 + 0x4bb3d0]
mov dword [ebx + esi*4 + 0x400], eax
mov eax, dword [esi*4 + 0x4babd0]
mov dword [ebx + esi*4], edx
mov dword [ebx + esi*4 + 0x800], eax
mov eax, dword [esi*4 + 0x4ba7d0]
mov dword [ebx + esi*4 + 0xc00], eax
inc esi
cmp esi, 0xff
jle 0x45cfe0
xor ecx, ecx
xor esi, esi
lea edi, [ebp - 0x109c]
mov edx, dword [ebp + 0xc]
movzx eax, byte [ecx + edx]
xor edx, edx
mov byte [edi + 3], al
lea eax, [ecx + 1]
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx edx, byte [eax + edx]
lea eax, [ecx + 2]
mov byte [edi + 2], dl
xor edx, edx
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx edx, byte [eax + edx]
lea eax, [ecx + 3]
mov byte [edi + 1], dl
xor edx, edx
div dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
movzx edx, byte [eax + edx]
mov byte [ebp - 0x109c], dl
mov eax, dword [ebp - 0x109c]
xor edx, edx
xor dword [ebx + esi*4 + 0x1000], eax
lea eax, [ecx + 4]
inc esi
div dword [ebp + 0x10]
cmp esi, 0x11
mov ecx, edx
jle 0x45d027
xor esi, esi
xor ecx, ecx
lea edi, [ebp - 0x10a0]
mov dword [ebp - 0x10a0], esi
xor esi, esi
mov dword [ebp - 0x10a4], ecx
mov dword [esp], edi
mov eax, ebx
lea edx, [ebp - 0x10a4]
call sym._do_encrypt
mov eax, dword [ebp - 0x10a4]
mov dword [ebx + esi*4 + 0x1000], eax
mov eax, dword [ebp - 0x10a0]
mov dword [ebx + esi*4 + 0x1004], eax
add esi, 2
cmp esi, 0x11
jle 0x45d09f
xor esi, esi
lea esi, [esi]
lea edi, [edi]
mov dword [esp], edi
lea edx, [ebp - 0x10a4]
mov eax, ebx
call sym._do_encrypt
mov edx, dword [ebp - 0x10a4]
mov eax, dword [ebp - 0x10a0]
mov dword [ebx + esi*4], edx
mov dword [ebx + esi*4 + 4], eax
add esi, 2
cmp esi, 0xff
jle 0x45d0e0
xor esi, esi
mov dword [esp], edi
mov eax, ebx
lea edx, [ebp - 0x10a4]
call sym._do_encrypt
mov eax, dword [ebp - 0x10a4]
mov dword [ebx + esi*4 + 0x400], eax
mov eax, dword [ebp - 0x10a0]
mov dword [ebx + esi*4 + 0x404], eax
add esi, 2
cmp esi, 0xff
jle 0x45d110
xor esi, esi
mov esi, esi
lea edi, [edi]
mov dword [esp], edi
mov eax, ebx
lea edx, [ebp - 0x10a4]
call sym._do_encrypt
mov eax, dword [ebp - 0x10a4]
mov dword [ebx + esi*4 + 0x800], eax
mov eax, dword [ebp - 0x10a0]
mov dword [ebx + esi*4 + 0x804], eax
add esi, 2
cmp esi, 0xff
jle 0x45d150
xor esi, esi
mov esi, esi
lea edi, [edi]
mov dword [esp], edi
mov eax, ebx
lea edx, [ebp - 0x10a4]
call sym._do_encrypt
mov eax, dword [ebp - 0x10a4]
mov dword [ebx + esi*4 + 0xc00], eax
mov eax, dword [ebp - 0x10a0]
mov dword [ebx + esi*4 + 0xc04], eax
add esi, 2
cmp esi, 0xff
jle 0x45d190
xor esi, esi
lea edi, [esi + 1]
cmp edi, 0xff
mov ecx, edi
jg 0x45d225
mov edx, dword [ebx + esi*4]
cmp edx, dword [ebx + ecx*4]
je 0x45d330
mov eax, dword [ebx + ecx*4 + 0x400]
cmp dword [ebx + esi*4 + 0x400], eax
je 0x45d330
mov eax, dword [ebx + ecx*4 + 0x800]
cmp dword [ebx + esi*4 + 0x800], eax
je 0x45d330
mov eax, dword [ebx + ecx*4 + 0xc00]
cmp dword [ebx + esi*4 + 0xc00], eax
je 0x45d330
inc ecx
cmp ecx, 0xff
jle 0x45d1d7
cmp edi, 0xfe
mov esi, edi
jle 0x45d1c7
xor esi, esi
jmp 0x45ce2e
lea eax, [ebp - 0x1098]
lea esi, [ebp - 0x1098]
mov dword [esp + 8], eax
lea edi, [ebp - 0x1078]
mov dword [esp + 4], eax
lea eax, [ebp - 0x1068]
mov dword [esp], eax
call sym._decrypt_block
cld
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
mov ecx, str.Blowfish_selftest_failed__2_.
jne 0x45cf82
mov eax, 8
lea edx, [ebp - 0x1068]
lea edi, [ebp - 0x1090]
mov dword [esp + 8], eax
lea eax, [ebp - 0x1088]
lea esi, [ebp - 0x1098]
mov dword [esp], edx
mov dword [esp + 4], eax
call sym._bf_setkey
lea eax, [ebp - 0x1080]
lea edx, [ebp - 0x1098]
mov dword [esp + 8], eax
lea eax, [ebp - 0x1068]
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._encrypt_block
cld
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
mov ecx, str.Blowfish_selftest_failed__3_.
jne 0x45cf82
lea edx, [ebp - 0x1098]
lea esi, [ebp - 0x1098]
mov dword [esp + 8], edx
lea edi, [ebp - 0x1080]
mov dword [esp + 4], edx
lea edx, [ebp - 0x1068]
mov dword [esp], edx
call sym._decrypt_block
cld
mov ecx, 8
repe cmpsb byte [esi], byte es:[edi]
seta dl
setb al
cmp dl, al
mov ecx, str.Blowfish_selftest_failed__4_.
jne 0x45cf82
xor ecx, ecx
jmp 0x45cf82
mov eax, 0x40
mov esi, 0x2b
call sym._burn_stack
add esp, 0x10ac
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret