Function at 0x1043b07
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 0x1043b85
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
cmp dword [ebp - 0x20], 3
ja case.default.0x1043a7f
mov edx, dword [ebp - 0x20]
jmp dword [edx*4 + 0x1043e6c]
xchg ebx, edi
xchg ebx, edi
lea edi, [edi]
add ebx, 0x2bd7
sub ebx, 0x2bd7
and eax, 0xffffffff
jbe 0x1043aa7
pushf
stc
popf
jg 0x1043aa4
ja 0x1043aa7
add eax, 0x508458b
add byte [eax + eax], al
add byte [ecx + 0x6febf445], cl
mov eax, dword [ebp + 8]
add eax, 0x400
mov dword [ebp - 0xc], eax
jmp case.default.0x1043a7f
stc
dec edi
inc edi
test dword [esp + 4], eax
test dword [esp + 4], ebx
jno 0x1043ac7
jp 0x1043ac3
jo 0x1043ac7
xor eax, 0x84d8bc9
mov ecx, dword [ebp + 8]
mov dword [ebp - 0xc], ecx
jmp case.default.0x1043a7f
call fcn.01043ad4
lea esp, [esp + 4]
jne 0x1043af9
pushf
sub esi, 0
ror esp, 0
add edi, 0x7b62
sub edi, 0x7b62
popf
xchg ecx, ecx
jns 0x1043af4
mov ebx, ebx
je 0x1043af9
lcall 0x48c2, 0x8108558b
or al, 0
add byte [ecx + 0x1cebf455], cl
mov edx, dword [ebp + 8]
add edx, 0xc48
mov dword [ebp - 0xc], edx
jmp case.default.0x1043a7f
jbe 0x1043b09
jb 0x1043b0b
rol esi, 0
jae 0x1043b10
jl 0x1043b18
jle 0x1043b14
jge 0x1043b18
mov ebx, 0x8458b4f
mov eax, dword [ebp + 8]
add eax, 0x800
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x18], 0
jmp 0x1043b35
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 0x100
jge 0x1043b80
std
cld
jo 0x1043b65
pushf
jns 0x1043b46
xor ecx, 0x52b2
xor ecx, 0x52b2
jp 0x1043b54
popf
lea edx, [edx + 0x532e]
lea edx, [edx - 0x532e]
jno 0x1043b65
mov ebx, 0xc1ec558b
loop 0x1043b75
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 + 0x103cdc0]
mov dword [ecx + eax*4], edx
jmp 0x1043b2c
xchg esp, eax
mov dl, 0xc0
int 3
add dword [ecx - 0x53147eec], ecx
jmp 0x1043a59
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x14], 0
jmp 0x1043b9e
mov eax, dword [ebp - 0x14]
add eax, 1
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x12
jge 0x1043c3e
mov dword [ebp - 0x18], 0
jmp 0x1043bba
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], 4
jge 0x1043bf5
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 0x1043bf3
mov dword [ebp - 0x1c], 0
jmp 0x1043bb1
lea ecx, [ecx + 0x685b]
sub ecx, 0x685b
cmc
lea edi, [edi + 0x63b6]
sub edi, 0x63b6
jbe 0x1043c10
jo 0x1043c1f
pushf
ja 0x1043c16
jle 0x1043c18
popf
jnp 0x1043c1c
jno 0x1043c1f
mov ebx, 0x8bec558b
add al, 0x95
and al, 0xca
add eax, dword [ecx]
mov edx, dword [ebp - 0x14]
mov eax, dword [edx*4 + 0x103ca24]
xor eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp + 8]
mov dword [edx + ecx*4 + 0xc00], eax
jmp 0x1043b95
inc ebx
dec ebx
je 0x1043c50
js 0x1043c44
mov edi, edi
jb 0x1043c48
xchg edx, esi
xchg edx, esi
jne 0x1043c50
add eax, 0xfc45c778
add byte [eax], al
add byte [eax], al
mov dword [ebp - 4], 0
lea esi, [esi + 0x44b6]
sub esi, 0x44b6
lea esi, [esi + 0x5548]
lea esi, [esi - 0x5548]
call 0x1043c74
lea esp, [esp + 4]
ror edi, 3
rol edi, 3
jae 0x1043c92
lea eax, [eax + 0x24c9]
lea eax, [eax - 0x24c9]
jno 0x1043c8e
jb 0x1043c92
add eax, 0xf045c7b5
add byte [eax], al
add byte [eax], al
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
jmp 0x1043cab
mov eax, dword [ebp - 0x14]
add eax, 2
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x12
jge 0x1043cf9
rol esp, 0
je 0x1043cc3
pushf
add esp, 0
popf
jo 0x1043cbf
nop
jne 0x1043cc3
or dword [ebp - 0x72ae0fb3], 0x8b52fc55
inc ebp
or byte [eax - 0x18], dl
xchg edi, eax
or dword [edx], eax
add byte [ebx + 0x4d8b0cc4], al
in al, dx
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 4]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.0106466b
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 0x1043ca2
mov dword [ebp - 0x14], 0
jmp 0x1043d0b
mov ecx, dword [ebp - 0x14]
add ecx, 1
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], 4
jge 0x1043e61
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x24], 3
ja case.default.0x1043d28
mov eax, dword [ebp - 0x24]
jmp dword [eax*4 + 0x1043e7c]
rol ecx, 0
cld
je 0x1043d48
pushf
shl esp, 0
dec edx
inc edx
ror esp, 0
popf
xchg esp, esp
je 0x1043d45
jne 0x1043d48
mov esi, 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.0x1043d28
cmp ebx, ecx
shl esp, 0
rol ecx, 0x15
ror ecx, 0x15
jo 0x1043d7a
pushf
or edi, edi
or edx, 0
popf
mov ecx, ecx
xchg edx, ecx
xchg edx, ecx
jbe 0x1043d77
jno 0x1043d7a
ljmp 0xf455:0x8908558b
mov edx, dword [ebp + 8]
mov dword [ebp - 0xc], edx
jmp case.default.0x1043d28
std
cld
xchg esp, esp
jae 0x1043d88
jmp 0x1043d8a
jb 0x1043db7
pushf
ror edx, 0x1e
ror edx, 2
add esp, 0
xor eax, dword [esp + 0x10]
xor eax, dword [esp + 0x10]
ror esp, 0
popf
lea ebx, [ebx + 0x5626]
lea ebx, [ebx - 0x5626]
jl 0x1043db2
ja 0x1043db4
jae 0x1043db7
mov ebx, 0x508458b
dec eax
or al, 0
add byte [ecx + 0x23ebf445], cl
mov eax, dword [ebp + 8]
add eax, 0xc48
mov dword [ebp - 0xc], eax
jmp case.default.0x1043d28
rol edi, 0x1d
rol edi, 3
xor edx, ecx
xor edx, ecx
jl 0x1043ddb
xchg ebx, ecx
xchg ebx, ecx
jae 0x1043dd6
xchg esi, eax
xchg esi, eax
jge 0x1043ddb
mov eax, 0x81084d8b
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 0x1043df9
mov edx, dword [ebp - 0x18]
add edx, 2
mov dword [ebp - 0x18], edx
cmp dword [ebp - 0x18], 0x100
jge 0x1043e5c
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 4]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0106466b
add esp, 0xc
jge 0x1043e18
je 0x1043e22
xchg esi, esi
je 0x1043e1e
jne 0x1043e22
lcall 0x4d8b, 0xe8458bba
hlt
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 4]
mov dword [ecx + eax*4], edx
xchg ecx, ebx
xchg ecx, ebx
jb 0x1043e4d
pushf
dec edi
inc edi
rol edi, 0x15
ror edi, 0x15
jp 0x1043e40
xor esi, dword [esp]
xor esi, dword [esp]
popf
js 0x1043e4a
jae 0x1043e4d
jmp 0x8cec83dc
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
mov dword [ecx + eax*4 + 4], edx
jmp 0x1043df0
jmp 0x1043d02
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc