Function at 0x43d74d
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x194
push ebx
push esi
push edi
xor edi, edi
inc edi
cmp dword [0x44842c], edi
jne 0x43d9fa
test byte [0x4010d4], 0xf
je 0x43d9fa
lea esi, [esp + 0x14]
call 0x40a40c
mov eax, esi
push eax
mov eax, dword [ebp + 8]
add eax, 0x28
push eax
call fcn.0043ce26
pop ecx
pop ecx
cmp al, 1
jne 0x43d9ee
mov eax, dword [esp + 0x18]
test eax, eax
je 0x43d9ee
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0xa0], 0x70c1133
mov dword [esp + 0xa8], 0x63060e02
mov dword [esp + 0xa4], 0x2d170016
mov byte [esp + 0xab], 0x63
mov byte [esp + 0xa0], 0x50
lea eax, [esp + 0xa0]
inc eax
xor byte [eax], 0x63
jne 0x43d7ea
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
and eax, dword [esp + 0xc]
lea ecx, [esp + 0xa0]
push ecx
xor esi, esi
call 0x424de0
cmp eax, 0xffffffff
je 0x43d9df
mov ebx, dword [0x4010d4]
and ebx, edi
mov eax, 0x40c0c24
mov dword [esp + 0xe4], 0x63630a11
mov dword [esp + 0x164], 0x630d0c0b
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0x2043060f
mov dword [esp + 0x68], 0xe0c110b
mov word [esp + 0x6c], 0x6306
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x3643060f
mov dword [esp + 0x28], 0x17020713
mov word [esp + 0x2c], 0x6306
mov dword [esp + 0xe0], 0x2050230
mov byte [esp + 0xe6], 0x63
mov dword [esp + 0x160], 0x171b022e
mov byte [esp + 0x167], 0x63
mov dword [esp + 0x120], 0x1106132c
mov word [esp + 0x124], 0x6302
je 0x43d8dd
mov byte [esp + 0x60], 0x47
lea eax, [esp + 0x60]
inc eax
xor byte [eax], 0x63
jne 0x43d8b3
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
and eax, dword [esp + 0xc]
lea ecx, [esp + 0x60]
push ecx
add eax, 4
xor esi, esi
call 0x424de0
cmp eax, 0xffffffff
jne 0x43d9da
test ebx, ebx
je 0x43d914
mov byte [esp + 0x20], 0x47
lea eax, [esp + 0x20]
inc eax
xor byte [eax], 0x63
jne 0x43d8ea
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
and eax, dword [esp + 0xc]
lea ecx, [esp + 0x20]
push ecx
add eax, 4
xor esi, esi
call 0x424de0
cmp eax, 0xffffffff
jne 0x43d9da
test byte [0x4010d4], 4
je 0x43d959
mov byte [esp + 0xe0], 0x53
lea eax, [esp + 0xe0]
inc eax
xor byte [eax], 0x63
jne 0x43d92c
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
and eax, dword [esp + 0xc]
lea ecx, [esp + 0xe0]
push ecx
add eax, 4
xor esi, esi
call 0x424de0
cmp eax, 0xffffffff
jne 0x43d9da
test byte [0x4010d4], 2
je 0x43d999
mov byte [esp + 0x120], 0x4f
lea eax, [esp + 0x120]
inc eax
xor byte [eax], 0x63
jne 0x43d971
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
and eax, dword [esp + 0xc]
lea ecx, [esp + 0x120]
push ecx
add eax, 4
xor esi, esi
call 0x424de0
test eax, eax
je 0x43d9da
test byte [0x4010d4], 8
je 0x43d9df
mov byte [esp + 0x160], 0x4d
lea eax, [esp + 0x160]
inc eax
xor byte [eax], 0x63
jne 0x43d9b1
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
and eax, dword [esp + 0xc]
lea ecx, [esp + 0x160]
push ecx
add eax, 4
xor esi, esi
call 0x424de0
cmp eax, 0xffffffff
je 0x43d9df
call fcn.00425924
add dword [esp + 0xc], 8
dec dword [esp + 0x10]
jne 0x43d7b2
lea ebx, [esp + 0x14]
call 0x40a42e
xor edi, edi
inc edi
mov esi, dword [ebp + 8]
mov eax, 0xe0d82cd4
push edi
add esi, 0x198
push eax
mov eax, esi
call 0x40e19a
mov eax, 0x40d614d2
push edi
push eax
mov eax, esi
call 0x40e19a
mov eax, 0xe0dd8ae1
push edi
push eax
mov eax, esi
call 0x40e19a
mov eax, 0xe0d466e1
push edi
push eax
mov eax, esi
call 0x40e19a
mov eax, 0xe0e9f2d4
push edi
push eax
mov eax, esi
call 0x40e19a
mov eax, 0xe0e89709
push edi
push eax
mov eax, esi
call 0x40e19a
mov eax, 0xb0fe36c8
push edi
push eax
mov eax, esi
call 0x40e19a
mov eax, 0x42d0ef1f
push edi
push eax
mov eax, esi
call 0x40e19a
push 2
pop ebx
mov eax, 0xe0ede6e1
push ebx
push eax
mov eax, esi
call 0x40e19a
mov eax, 0x70d77297
push ebx
push eax
mov eax, esi
call 0x40e19a
mov eax, 0xe0fc7ad9
push ebx
push eax
mov eax, esi
call 0x40e19a
mov eax, 0xe0d73cb5
push ebx
push eax
mov eax, esi
call 0x40e19a
mov eax, 0xe0d9dad4
push ebx
push eax
mov eax, esi
call 0x40e19a
mov eax, 0xa68dae14
push ebx
push eax
mov eax, esi
call 0x40e19a
mov eax, 0xbc701390
push ebx
push eax
mov eax, esi
call 0x40e19a
mov eax, 0x50d778bc
push ebx
push eax
mov eax, esi
call 0x40e19a
test byte [0x4010d4], 1
je 0x43db1b
mov eax, 0xe0fb6205
push ebx
push eax
mov eax, esi
call 0x40e19a
mov eax, 0x3f02477b
push ebx
push eax
mov eax, esi
call 0x40e19a
mov ecx, ebx
mov eax, 0x6e3211ad
push ecx
push eax
mov eax, esi
call 0x40e19a
test byte [0x4010d4], bl
je 0x43db33
mov ecx, ebx
mov eax, 0xe0f4f1e9
push ecx
push eax
mov eax, esi
call 0x40e19a
test byte [0x4010d4], 4
je 0x43db4c
mov ecx, ebx
mov eax, 0xe0e4c765
push ecx
push eax
mov eax, esi
call 0x40e19a
test byte [0x4010d4], 8
je 0x43db65
mov ecx, ebx
mov eax, 0x60edde2b
push ecx
push eax
mov eax, esi
call 0x40e19a
mov esi, dword [ebp + 8]
push ecx
add esi, 0x28
mov edi, esp
call fcn.00424f98
lea eax, [esp + 0x14]
call fcn.0042d613
pop ecx
push dword [eax]
mov eax, dword [ebp + 8]
call fcn.0043d422
cmp eax, ebx
lea esi, [esp + 0x10]
sete bl
call fcn.00424fe3
test bl, bl
je 0x43db9e
call fcn.00425924
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4