Function at 0x1000e3c0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push esi
push edi
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, esp
call 0x1000e3d7
pop ebp
lea ebp, [ebp + 0x529]
sub esp, 0x10
and esp, 0xffffffc0
shl eax, 7
add eax, edi
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [edi]
mov ebx, dword [edi + 4]
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
bswap eax
bswap ebx
bswap ecx
bswap edx
push eax
push ebx
push ecx
push edx
mov eax, dword [edi + 0x10]
mov ebx, dword [edi + 0x14]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x1c]
bswap eax
bswap ebx
bswap ecx
bswap edx
push eax
push ebx
push ecx
push edx
mov eax, dword [edi + 0x20]
mov ebx, dword [edi + 0x24]
mov ecx, dword [edi + 0x28]
mov edx, dword [edi + 0x2c]
bswap eax
bswap ebx
bswap ecx
bswap edx
push eax
push ebx
push ecx
push edx
mov eax, dword [edi + 0x30]
mov ebx, dword [edi + 0x34]
mov ecx, dword [edi + 0x38]
mov edx, dword [edi + 0x3c]
bswap eax
bswap ebx
bswap ecx
bswap edx
push eax
push ebx
push ecx
push edx
mov eax, dword [edi + 0x40]
mov ebx, dword [edi + 0x44]
mov ecx, dword [edi + 0x48]
mov edx, dword [edi + 0x4c]
bswap eax
bswap ebx
bswap ecx
bswap edx
push eax
push ebx
push ecx
push edx
mov eax, dword [edi + 0x50]
mov ebx, dword [edi + 0x54]
mov ecx, dword [edi + 0x58]
mov edx, dword [edi + 0x5c]
bswap eax
bswap ebx
bswap ecx
bswap edx
push eax
push ebx
push ecx
push edx
mov eax, dword [edi + 0x60]
mov ebx, dword [edi + 0x64]
mov ecx, dword [edi + 0x68]
mov edx, dword [edi + 0x6c]
bswap eax
bswap ebx
bswap ecx
bswap edx
push eax
push ebx
push ecx
push edx
mov eax, dword [edi + 0x70]
mov ebx, dword [edi + 0x74]
mov ecx, dword [edi + 0x78]
mov edx, dword [edi + 0x7c]
bswap eax
bswap ebx
bswap ecx
bswap edx
push eax
push ebx
push ecx
push edx
add edi, 0x80
sub esp, 0x48
mov dword [esp + 0xcc], edi
lea edi, [esp + 8]
mov ecx, 0x10
mov esi, esi
rep movsd dword es:[edi], dword [esi]
nop
nop
nop
nop
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov esi, ecx
shr ecx, 9
mov edi, edx
shr edx, 9
mov ebx, ecx
shl esi, 0xe
mov eax, edx
shl edi, 0xe
xor ebx, esi
shr ecx, 5
xor eax, edi
shr edx, 5
xor eax, ecx
shl esi, 4
xor ebx, edx
shl edi, 4
xor ebx, esi
shr ecx, 4
xor eax, edi
shr edx, 4
xor eax, ecx
shl esi, 5
xor ebx, edx
shl edi, 5
xor eax, esi
xor ebx, edi
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
add eax, dword [esp + 0x40]
adc ebx, dword [esp + 0x44]
xor ecx, esi
xor edx, edi
and ecx, dword [esp + 0x28]
and edx, dword [esp + 0x2c]
add eax, dword [esp + 0xc0]
adc ebx, dword [esp + 0xc4]
xor ecx, esi
xor edx, edi
mov esi, dword [ebp]
mov edi, dword [ebp + 4]
add eax, ecx
adc ebx, edx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add eax, esi
adc ebx, edi
mov dword [esp], eax
mov dword [esp + 4], ebx
add eax, ecx
adc ebx, edx
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
mov esi, ecx
shr ecx, 2
mov edi, edx
shr edx, 2
mov ebx, ecx
shl esi, 4
mov eax, edx
shl edi, 4
xor ebx, esi
shr ecx, 5
xor eax, edi
shr edx, 5
xor ebx, ecx
shl esi, 0x15
xor eax, edx
shl edi, 0x15
xor eax, esi
shr ecx, 0x15
xor ebx, edi
shr edx, 0x15
xor eax, ecx
shl esi, 5
xor ebx, edx
shl edi, 5
xor eax, esi
xor ebx, edi
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
add eax, dword [esp]
adc ebx, dword [esp + 4]
or ecx, esi
or edx, edi
and ecx, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
and esi, dword [esp + 8]
and edi, dword [esp + 0xc]
or ecx, esi
or edx, edi
add eax, ecx
adc ebx, edx
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dl, byte [ebp]
sub esp, 8
lea ebp, [ebp + 8]
cmp dl, 0x94
jne 0x1000e4e0
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x13c]
mov esi, ecx
shr ecx, 1
mov edi, edx
shr edx, 1
mov eax, ecx
shl esi, 0x18
mov ebx, edx
shl edi, 0x18
xor ebx, esi
shr ecx, 6
xor eax, edi
shr edx, 6
xor eax, ecx
shl esi, 7
xor ebx, edx
shl edi, 1
xor ebx, esi
shr ecx, 1
xor eax, edi
shr edx, 1
xor eax, ecx
shl edi, 6
xor ebx, edx
xor eax, edi
mov dword [esp], eax
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov esi, ecx
shr ecx, 6
mov edi, edx
shr edx, 6
mov eax, ecx
shl esi, 3
mov ebx, edx
shl edi, 3
xor eax, esi
shr ecx, 0xd
xor ebx, edi
shr edx, 0xd
xor eax, ecx
shl esi, 0xa
xor ebx, edx
shl edi, 0xa
xor ebx, esi
shr ecx, 0xa
xor eax, edi
shr edx, 0xa
xor ebx, ecx
shl edi, 0xd
xor eax, edx
xor eax, edi
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x144]
add eax, dword [esp]
adc ebx, dword [esp + 4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xfc]
add eax, ecx
adc ebx, edx
add eax, esi
adc ebx, edi
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], ebx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov esi, ecx
shr ecx, 9
mov edi, edx
shr edx, 9
mov ebx, ecx
shl esi, 0xe
mov eax, edx
shl edi, 0xe
xor ebx, esi
shr ecx, 5
xor eax, edi
shr edx, 5
xor eax, ecx
shl esi, 4
xor ebx, edx
shl edi, 4
xor ebx, esi
shr ecx, 4
xor eax, edi
shr edx, 4
xor eax, ecx
shl esi, 5
xor ebx, edx
shl edi, 5
xor eax, esi
xor ebx, edi
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
add eax, dword [esp + 0x40]
adc ebx, dword [esp + 0x44]
xor ecx, esi
xor edx, edi
and ecx, dword [esp + 0x28]
and edx, dword [esp + 0x2c]
add eax, dword [esp + 0xc0]
adc ebx, dword [esp + 0xc4]
xor ecx, esi
xor edx, edi
mov esi, dword [ebp]
mov edi, dword [ebp + 4]
add eax, ecx
adc ebx, edx
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add eax, esi
adc ebx, edi
mov dword [esp], eax
mov dword [esp + 4], ebx
add eax, ecx
adc ebx, edx
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ebx
mov esi, ecx
shr ecx, 2
mov edi, edx
shr edx, 2
mov ebx, ecx
shl esi, 4
mov eax, edx
shl edi, 4
xor ebx, esi
shr ecx, 5
xor eax, edi
shr edx, 5
xor ebx, ecx
shl esi, 0x15
xor eax, edx
shl edi, 0x15
xor eax, esi
shr ecx, 0x15
xor ebx, edi
shr edx, 0x15
xor eax, ecx
shl esi, 5
xor ebx, edx
shl edi, 5
xor eax, esi
xor ebx, edi
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
add eax, dword [esp]
adc ebx, dword [esp + 4]
or ecx, esi
or edx, edi
and ecx, dword [esp + 0x18]
and edx, dword [esp + 0x1c]
and esi, dword [esp + 8]
and edi, dword [esp + 0xc]
or ecx, esi
or edx, edi
add eax, ecx
adc ebx, edx
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dl, byte [ebp]
sub esp, 8
lea ebp, [ebp + 8]
cmp dl, 0x17
jne 0x1000e620
mov esi, dword [esp + 0x348]
mov edi, dword [esp + 0x34c]
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
add eax, dword [esp + 8]
adc ebx, dword [esp + 0xc]
mov dword [esi], eax
mov dword [esi + 4], ebx
add ecx, dword [esp + 0x10]
adc edx, dword [esp + 0x14]
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
add eax, dword [esp + 0x18]
adc ebx, dword [esp + 0x1c]
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ebx
add ecx, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x1c], edx
mov eax, dword [esi + 0x20]
mov ebx, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x2c]
add eax, dword [esp + 0x28]
adc ebx, dword [esp + 0x2c]
mov dword [esi + 0x20], eax
mov dword [esi + 0x24], ebx
add ecx, dword [esp + 0x30]
adc edx, dword [esp + 0x34]
mov dword [esi + 0x28], ecx
mov dword [esi + 0x2c], edx
mov eax, dword [esi + 0x30]
mov ebx, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
add eax, dword [esp + 0x38]
adc ebx, dword [esp + 0x3c]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], ebx
add ecx, dword [esp + 0x40]
adc edx, dword [esp + 0x44]
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], edx
add esp, 0x348
sub ebp, 0x280
cmp edi, dword [esp + 8]
jb 0x1000e400
mov esp, dword [esp + 0xc]
pop edi
pop esi
pop ebx
pop ebp
ret