Function at 0x43d106
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
xor edx, edx
push edi
xor edi, edi
inc edx
cmp ecx, 0x1102
jne 0x43d145
cmp dword [eax + 0x10], edx
jne 0x43d145
cmp dword [eax + 8], 0xa
jne 0x43d145
xor ecx, ecx
cmp dword [eax + 0xc], 0x11021001
setne cl
lea ecx, [ecx*8 + 3]
mov edi, ecx
jmp 0x43d44a
cmp ecx, 0x11d4
jne 0x43d16f
cmp dword [eax + 0x10], edx
jne 0x43d16f
cmp dword [eax + 8], 0x989b
jne 0x43d16f
cmp dword [eax + 0xc], 0x10438334
jne 0x43d44a
push 0x11
jmp 0x43d449
cmp ecx, 0x1106
jne 0x43d1a5
cmp dword [eax + 0x10], edx
jne 0x43d1a5
mov ecx, dword [eax + 8]
cmp ecx, 0x428
jne 0x43d190
cmp dword [eax + 0xc], 0x104383b3
je 0x43d168
cmp ecx, 0x441
jne 0x43d44a
cmp dword [eax + 0xc], 0x104383e4
jmp 0x43d162
cmp ecx, 0x10ec
jne 0x43d44a
cmp dword [eax + 0x10], edx
jne 0x43d44a
mov ecx, dword [eax + 8]
cmp ecx, 0x888
jne 0x43d279
mov ecx, dword [eax + 0xc]
cmp ecx, 0x10250325
je 0x43d447
cmp ecx, 0x10250326
je 0x43d447
cmp ecx, 0x1025025e
je 0x43d447
cmp ecx, 0x1025036b
je 0x43d447
cmp ecx, 0x10250369
je 0x43d447
cmp ecx, 0x1462036a
je 0x43d447
cmp ecx, 0x1025036a
je 0x43d447
cmp ecx, 0x10250397
je 0x43d447
cmp ecx, 0x10250519
je 0x43d447
cmp ecx, 0x1025046d
je 0x43d447
cmp ecx, 0x1025018f
je 0x43d168
cmp ecx, 0x10250191
je 0x43d168
cmp ecx, 0x10250198
je 0x43d168
cmp ecx, 0x1025032f
jne 0x43d3df
jmp 0x43d168
cmp ecx, 0x889
jne 0x43d2c3
mov ecx, dword [eax + 0xc]
cmp ecx, 0x14627583
je 0x43d447
cmp ecx, 0x14627581
je 0x43d447
cmp ecx, 0x14624132
je 0x43d447
cmp ecx, 0x1462132a
je 0x43d2bc
cmp ecx, 0x1458a082
jne 0x43d3df
push 0x1a
jmp 0x43d449
cmp ecx, 0x662
jne 0x43d2dd
cmp dword [eax + 0xc], 0x10250446
jne 0x43d3df
jmp 0x43d447
cmp ecx, 0x268
jne 0x43d2ee
cmp dword [eax + 0xc], 0x1025046f
jmp 0x43d2d2
cmp ecx, 0x269
jne 0x43d35c
mov ecx, dword [eax + 0xc]
cmp ecx, 0x14621063
je 0x43d447
cmp ecx, 0x1462106d
je 0x43d447
cmp ecx, 0x1462107f
je 0x43d447
cmp ecx, 0x14581405
je 0x43d447
cmp ecx, 0x14581100
je 0x43d447
cmp ecx, 0x14581425
je 0x43d447
cmp ecx, 0x10431a13
je 0x43d355
cmp ecx, 0x10431083
jne 0x43d3df
push 0x22
jmp 0x43d449
cmp ecx, 0x892
jne 0x43d3df
mov ecx, dword [eax + 0xc]
cmp ecx, 0x14621075
je 0x43d447
cmp ecx, 0x1462106f
je 0x43d447
cmp ecx, 0x1462107b
je 0x43d447
cmp ecx, 0x1462107d
je 0x43d447
cmp ecx, 0x14627672
je 0x43d447
cmp ecx, 0x14627673
je 0x43d447
cmp ecx, 0x14627676
je 0x43d447
cmp ecx, 0x14627678
je 0x43d447
cmp ecx, 0x14627681
je 0x43d447
cmp ecx, 0x14621089
je 0x43d447
cmp ecx, 0x15658224
je 0x43d447
mov ecx, dword [eax + 0xc]
push ecx
call fcn.0043d0e6
test eax, eax
je 0x43d44a
test cl, 0x10
je 0x43d44a
mov eax, ecx
and eax, 0xf
cmp eax, 2
je 0x43d400
cmp eax, 6
jne 0x43d44a
push esi
push 7
mov byte [ebp + 0xb], dl
mov byte [ebp - 1], dl
mov eax, ecx
pop esi
mov dl, al
and dl, 1
xor byte [ebp + 0xb], dl
shr eax, 2
dec esi
jne 0x43d40c
mov eax, ecx
push 7
shr eax, 1
pop esi
mov dl, al
and dl, 1
xor byte [ebp - 1], dl
shr eax, 2
dec esi
jne 0x43d421
mov eax, ecx
shr eax, 0xe
and al, 1
cmp byte [ebp + 0xb], al
pop esi
jne 0x43d44a
shr ecx, 0xf
and cl, 1
cmp byte [ebp - 1], cl
jne 0x43d44a
push 0x1f
pop edi
mov eax, edi
pop edi
leave
ret 4