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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1b0
mov esi, esp
push eax
push eax
mov dword [esi + 0x64], esp
sub esp, 8
mov dword [esi + 0x3c], esp
sub esp, 8
mov dword [esi + 0xc], esp
sub esp, 0xc
mov dword [esi + 0x18], esp
sub esp, 0xc
mov dword [esi + 0x44], esp
sub esp, 0xc
mov dword [esi + 0x38], esp
sub esp, 0x30
mov dword [esi + 0x30], esp
sub esp, 0xc
mov dword [esi + 0x34], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x10], eax
mov esp, eax
push eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x20], eax
mov dword [esi + 8], eax
sub esp, 0xc
mov dword [esi + 0x58], esp
sub esp, 0xc
mov dword [esi + 0x24], esp
sub esp, 8
mov dword [esi + 0x60], esp
sub esp, 0xc
mov dword [esi + 0x40], esp
sub esp, 0x18
mov dword [esi + 0x28], esp
sub esp, 0xc
mov dword [esi + 0x5c], esp
sub esp, 0xc
mov dword [esi + 0x2c], esp
sub esp, 0xc
mov dword [esi + 0x14], esp
mov dword [esi + 0x48], 0xd1a4cffd
mov dword [esi + 0x4c], 0xd5a3d3a5
mov dword [esi + 0x50], 0xd9d6d7ba
mov word [esi + 0x54], 0
mov byte [esi + 0x56], 0
mov eax, 5
mov ecx, 0x96ca532
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + eax + 0x43]
mov edi, ecx
and edi, 0x9288419
mov ebx, eax
and ebx, 6
or ebx, edi
mov edi, ecx
and edi, 6
xor edi, 0x36130206
or edi, ebx
mov ebx, edx
xor edx, 0x26
or edx, edi
not edi
xor ebx, 0x19
or ebx, edi
and edx, ebx
mov bl, 0xfe
sub bl, dl
mov byte [esi + eax + 0x43], bl
inc eax
dec ecx
cmp eax, 0x14
jne 0x4175a0
mov dword [esi + 0x6c], 0x21aa27bc
mov dword [esi + 0x70], 0xddb223ac
mov dword [esi + 0x74], 0xd90fdf16
mov dword [esi + 0x78], 0xd54edb09
mov dword [esi + 0x7c], 0xd14bd745
mov dword [esi + 0x80], 0xcd46d333
mov dword [esi + 0x84], 0xc95fcf54
mov dword [esi + 0x88], 0xc546cb45
mov dword [esi + 0x8c], 0xc1c6c70e
mov word [esi + 0x90], 0
mov eax, 0x460b7179
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + eax - 0x460b710d]
mov ecx, eax
or ecx, edx
lea edi, [eax - 0x460b7100]
and edi, edx
sub ecx, edi
mov edx, 0xc3c140ff
sub edx, ecx
add ecx, 0x3c3ec000
and edx, 0xb2
and ecx, 0x4d
sub ecx, edx
add cl, 0x55
mov byte [esi + eax - 0x460b710d], cl
inc eax
cmp eax, 0x460b719f
jne 0x417640
movzx ecx, word [esi + 0x6c]
lea eax, [esi + 0x172]
test cx, cx
je 0x4176b1
lea edx, [esi + 0x6e]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4176a0
mov word [eax], 0
mov edx, dword [ebp + 0x10]
movzx ecx, word [edx]
test cx, cx
mov edi, dword [ebp + 0xc]
je 0x4176e1
add edx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4176d0
mov word [eax], 0
movzx ecx, word [esi + 0x48]
test cx, cx
je 0x417711
lea edx, [esi + 0x4a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x417700
mov word [eax], 0
mov eax, dword [edi]
mov dword [esi], eax
mov dword [esi + 0x6c], 0xbdb8b81e
mov byte [esi + 0x70], 0x20
mov dword [esi + 0x71], 0
mov dword [esi + 0x74], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + eax + 0x6c]
lea edi, [eax + 0x6acf2979]
lea ecx, [eax + 0x79]
and ecx, edx
mov ebx, edx
not ebx
and ebx, edi
xor edi, edx
lea edx, [edi + eax]
add edx, 0x6acf2979
not edx
add edx, ebx
or edx, ecx
mov ecx, edx
not ecx
and ecx, 0x22
xor edx, 0x5d
lea ecx, [edx + ecx*2]
inc cl
mov byte [esi + eax + 0x6c], cl
mov ecx, eax
xor ecx, 0xfffffffe
or eax, 1
and ecx, eax
add eax, ecx
cmp eax, 0xc
jb 0x417740
movzx eax, byte [esi + 0x6c]
test al, al
je 0x4177ad
lea ecx, [esi + 0x6d]
mov edx, dword [esi]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4177a0
jmp 0x4177af
mov edx, dword [esi]
mov byte [edx], 0
lea eax, [esi + 0x68]
lea ecx, [esi + 0x1c]
mov edi, edx
lea edx, [esi + 0x172]
push eax
push ecx
push edx
call fcn.0040ba10
add esp, 0xc
movzx eax, al
mov eax, dword [eax*4 + 0x442cc0]
mov ecx, 0xf2e37f0c
xor ecx, dword [0x442cc8]
add eax, ecx
inc eax
jmp eax
jne 0x441984
add byte [eax + 0x76], dl
inc ecx
add byte [eax + 0x20004179], dh
add byte [eax], ah
add byte [eax], ah
jns 0x441990
add byte [eax + 0x4179], al
js 0x441998
add byte [eax - 0x3fffbe88], ah
js 0x4419a0
add byte [ecx], dh
int 0
add byte [ecx + 0x7b], ch
inc ecx
add byte [ecx], dh
int 0
add byte [eax], al
imul edi, dword [ebx + 0x41], 0xcd3100
add byte [eax - 0x5fffbe82], al
jle 0x4419b4
add al, dl
jle 0x4419b8
add al, ah
jle 0x4419bc
add byte [eax + 0x7e], al
inc ecx
add al, bh
mov edx, 0xbaff0040
inc eax
add byte [eax - 0x43], al
inc eax
add byte [edx - 0x41], bh
inc eax
add byte [ecx + 0x390040bf], dl
rol byte [eax], 0x3f
invalid
xchg ecx, eax
mov edi, 0xc0390040
inc eax
add byte [edi], bh
aas
rol byte [eax], 0x61
rol byte [eax], 0x79
rol byte [eax], 0x70
rol byte [eax], 0x1d
rol dword [eax], 0x43
jns 0x441962
inc eax
add byte [eax - 0x40], dh
inc eax
add byte [0x430040c1], bl
rol dword [eax], 0x69
rol dword [eax], 0x84
rol dword [eax], 0xac
test cl, al
inc eax
add byte [ecx + eax*8 - 0x3e89ffc0], ch
lodsb al, byte [esi]
rol dword [eax], 0x76
rol dword [eax], 0xc7
jbe 0x44197f
inc eax
add bh, al
rol dword [eax], 0xc7
rol dword [eax], 0x57
ret 0x40