Function at 0x419b70
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, 0x308
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x154], 0x4bdad1eb
mov byte [esp + 0x158], 0x40
mov word [esp + 0x159], 0
mov byte [esp + 0x15b], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 2
mov ebx, edx
xor ebx, 0xf1
add ebx, esi
xor bl, byte [esp + edx + 0x154]
add bl, 0x4b
mov byte [esp + edx + 0x154], bl
inc edx
add ecx, 2
cmp edx, 8
jne 0x419bd0
mov ecx, dword [ebp + 0xc]
mov esi, dword [ecx]
movzx ecx, byte [esp + 0x154]
test cl, cl
je 0x419c2b
lea edx, [esp + 0x155]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], cl
inc esi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x419c20
mov byte [esi], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
lea ecx, [esp + 0x50]
lea edx, [esp + 0x60]
lea eax, [esp + 0x38]
xor ebx, ebx
push ecx
push edx
push eax
mov eax, dword [ebp + 0x14]
push dword [eax + 0x10]
push edi
push dword [eax + 0xc]
call fcn.0041c190
add esp, 0x18
test al, al
je 0x41b00f
mov dword [esp + 0x154], 0x91796f68
mov byte [esp + 0x158], 0x9c
mov word [esp + 0x159], 0
mov byte [esp + 0x15b], 0
xor eax, eax
mov ecx, eax
add cl, 0x5a
xor cl, byte [esp + eax + 0x154]
add cl, 0x98
mov byte [esp + eax + 0x154], cl
inc eax
cmp eax, 8
jne 0x419ca0
movzx eax, byte [esp + 0x154]
test al, al
je 0x419cdb
lea ecx, [esp + 0x155]
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x419cd0
mov byte [esi], 0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x144], edx
mov dword [esp + 0x140], ecx
mov dword [esp + 0x148], eax
mov dword [esp + 0x154], 0x20a1651
mov dword [esp + 0x158], 0x3d3e1b20
mov dword [esp + 0x15c], 0x4733221d
mov dword [esp + 0x160], 0x48494e4f
mov dword [esp + 0x164], 0x322b4518
mov dword [esp + 0x168], 0x3d363422
mov dword [esp + 0x16c], 0xbcbd4243
mov dword [esp + 0x170], 0xc4b1e9ea
mov dword [esp + 0x174], 0xeacff2cf
mov dword [esp + 0x178], 0xf8f8decf
mov dword [esp + 0x17c], 0xc6a1eccc
mov dword [esp + 0x180], 0xa7d8c5e6
mov dword [esp + 0x184], 0xacfae2b8
mov dword [esp + 0x188], 0xecedaaae
mov dword [esp + 0x18c], 0xd7e1aaeb
mov dword [esp + 0x190], 0x98999e9f
mov dword [esp + 0x194], 0xc2f7c5cf
mov dword [esp + 0x198], 0x909dfc95
mov dword [esp + 0x19c], 0x8cf3cde0
mov dword [esp + 0x1a0], 0x81898e8f
mov dword [esp + 0x1a4], 0x84858afe
mov dword [esp + 0x1a8], 0xcaf38e87
mov dword [esp + 0x1ac], 0xf3eeee8a
mov dword [esp + 0x1b0], 0x95ea8d8e
mov dword [esp + 0x1b4], 0xf4f5fafb
mov dword [esp + 0x1b8], 0x92e2fea3
mov dword [esp + 0x1bc], 0xb9efa2f3
mov dword [esp + 0x1c0], 0xe8e58ce7
mov dword [esp + 0x1c4], 0xe4e5eaeb
mov dword [esp + 0x1c8], 0x94e1e6e7
mov dword [esp + 0x1cc], 0xde8baeef
mov dword [esp + 0x1d0], 0xd8d9dedf
mov dword [esp + 0x1d4], 0x8bb9b88d
mov dword [esp + 0x1d8], 0xdf86dad7
mov byte [esp + 0x1dc], 0x10
mov byte [esp + 0x1e1], 0
mov dword [esp + 0x1dd], 0
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp], edi
movzx ecx, byte [esp + edi + 0x154]
and edi, 0x64
mov edx, dword [esp]
and edx, 2
mov ebx, edx
xor ebx, 2
imul ebx, edi
or edi, 2
imul edi, edx
mov edx, dword [esp]
xor edx, 0x902c0766
add edx, ebx
add edx, edi
mov eax, edx
and eax, ecx
mov edi, eax
or edi, 0xfffffffd
inc edi
mov ebx, eax
and ebx, 0xfffffffd
imul ebx, edi
xor edx, ecx
mov ecx, eax
lea edx, [edx + eax*2]
and eax, 2
or ecx, 2
imul ecx, eax
sub ebx, ecx
lea ecx, [ebx + edx]
add ecx, 0xd9911b7b
mov edi, dword [esp]
mov eax, ecx
xor eax, 0x86
and ecx, 0x79
add ecx, ecx
sub ecx, eax
inc cl
mov byte [esp + edi + 0x154], cl
inc edi
cmp edi, 0x8e
jne 0x419ea0
mov dword [esp + 0x68], 0x34c6f6fa
mov dword [esp + 0x6c], 0x4c399b5c
mov dword [esp + 0x70], 0x51783cfc
mov dword [esp + 0x74], 0xbdbabbb8
mov dword [esp + 0x78], 0xa92abe3b
mov dword [esp + 0x7c], 0x4db128e8
mov dword [esp + 0x80], 0xa9a6a7a4
mov dword [esp + 0x84], 0xe5ba20e0
mov dword [esp + 0x88], 0xb0866b29
mov dword [esp + 0x8c], 0x191e16ae
mov dword [esp + 0x90], 0x151a1b18
mov dword [esp + 0x94], 0x11161714
mov dword [esp + 0x98], 0x4496a6aa
mov dword [esp + 0x9c], 0x4e8a9b2c
mov dword [esp + 0xa0], 0xce4b8f0a
mov dword [esp + 0xa4], 0xcdcacbc8
mov dword [esp + 0xa8], 0xb92e9c84
mov dword [esp + 0xac], 0xf5d6b77b
mov dword [esp + 0xb0], 0xf96d78bc
mov dword [esp + 0xb4], 0xd5fafbf8
mov dword [esp + 0xb8], 0xe1feff14
mov dword [esp + 0xbc], 0xa36fabe0
mov dword [esp + 0xc0], 0xa76bafc4
mov dword [esp + 0xc4], 0x5b67a3c0
mov dword [esp + 0xc8], 0x11eeefec
mov dword [esp + 0xcc], 0x31569c5c
mov dword [esp + 0xd0], 0x299d5c14
mov dword [esp + 0xd4], 0x1d9cd250
mov dword [esp + 0xd8], 0x11e1f1c
mov dword [esp + 0xdc], 0x4d020300
mov dword [esp + 0xe0], 0x3e071d8f
mov dword [esp + 0xe4], 0xd0a0b08
mov dword [esp + 0xe8], 0x15428244
mov dword [esp + 0xec], 0xd6617b30
mov byte [esp + 0xf0], 0x34
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf1], 0
xor ecx, ecx
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
or edx, 0x2291699d
lea ebx, [ecx + edx]
inc ebx
mov edx, ebx
and edx, 2
mov edi, ebx
or ebx, 2
imul ebx, edx
xor edx, 2
and edi, 0xfffffffd
imul edi, edx
mov edx, ecx
xor edx, 0x2291699d
add edx, ebx
add edx, edi
lea edi, [edx + edx]
not edi
add edi, edx
mov ebx, edx
xor ebx, 0xb
or edx, 0xf4
and edx, ebx
and edi, 0xb
or edx, edi
movzx edi, byte [esp + ecx + 0x68]
xor edx, edi
xor edx, 0xf4
mov bl, 0xee
sub bl, dl
mov byte [esp + ecx + 0x68], bl
inc ecx
dec eax
cmp ecx, 0x90
jne 0x41a0b0
lea eax, [esp + 0x154]
lea edx, [esp + 0x68]
lea ecx, [esp + 0x140]
push eax
push 0x88
push edx
lea edi, [esp + 0x44]
push edi
call fcn.00438a00
mov dword [esp + 0x124], edx
mov dword [esp + 0x120], eax
or eax, edx
je 0x41b013
mov dword [esp + 0x154], 0xb747b68
mov byte [esp + 0x158], 0
mov dword [esp + 0x159], 0
xor ebx, ebx
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add al, 0x81
xor al, byte [esp + ecx + 0x154]
add al, 0x7b
mov byte [esp + ecx + 0x154], al
inc ecx
cmp ecx, 9
jne 0x41a180
movzx eax, byte [esp + 0x154]
test al, al
je 0x41a1bb
lea ecx, [esp + 0x155]
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41a1b0
mov byte [esi], 0
lea eax, [esp + 0x120]
lea ecx, [esp + 0x140]
push 0
push 8
push eax
push edi
call fcn.00438a00
mov dword [esp + 0x11c], edx
mov dword [esp + 0x118], eax
or eax, edx
je 0x41b015
mov dword [esp + 0x154], 0x1dca496
mov byte [esp + 0x158], 0x74
mov dword [esp + 0x159], 0
mov dword [esp + 0x15c], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
mov dword [esp + 8], ecx
movzx ecx, byte [esp + eax + 0x154]
mov edx, dword [esp + 8]
and edx, 4
mov edi, eax
xor edi, 0xa7f6da02
add edx, edi
add edx, 0xc6eb1240
mov edi, ecx
and edi, edx
add edi, edi
sub edx, edi
add dl, cl
add dl, 0xca
mov byte [esp + eax + 0x154], dl
mov ecx, dword [esp + 8]
inc eax
add ecx, 2
cmp eax, 0xc
jne 0x41a220
movzx eax, byte [esp + 0x154]
test al, al
je 0x41a28b
lea ecx, [esp + 0x155]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41a280
mov byte [esi], 0
lea eax, [esp + 0x118]
lea edx, [esp + 0x54]
lea ecx, [esp + 0x38]
push 0
push 8
push eax
push edx
call fcn.00437e90
mov eax, dword [esp + 0x54]
xor edx, edx
cmp eax, dword [esp + 0x58]
je 0x41b017
mov dword [esp + 0x154], 0x910b9f03
mov dword [esp + 0x158], 0x95369337
mov dword [esp + 0x15c], 0x8931970d
mov dword [esp + 0x160], 0x8d2d8bd6
mov dword [esp + 0x164], 0x81298f04
mov word [esp + 0x168], 0x8380
mov dword [esp + 0x16a], 0
mov word [esp + 0x16e], 0
xor eax, eax
mov dword [esp + 8], edx
movzx edx, byte [esp + eax + 0x154]
mov edi, eax
xor edi, 0xba7ad5b
mov ecx, dword [esp + 8]
and ecx, 8
sub ecx, edi
mov edi, ecx
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
mov edx, 0xce
sub edx, ecx
add ecx, 0x31
and edx, 0x95
and ecx, 0x6a
or ecx, 1
sub ecx, edx
mov edx, dword [esp + 8]
mov byte [esp + eax + 0x154], cl
inc eax
add edx, 2
cmp eax, 0x1c
jne 0x41a310
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 0xc]
xor ecx, ecx
nop
nop
nop
nop
nop
movzx edx, word [eax + ecx]
movzx edi, word [esp + ecx + 0x154]
test dx, dx
je 0x41a389
add ecx, 2
cmp dx, di
je 0x41a370
mov word [esp + 0x2c], di
mov word [esp + 0x2e], dx
mov dword [esp + 0x154], 0xc7666763
mov byte [esp + 0x158], 0xd8
mov dword [esp + 0x159], 0
mov dword [esp + 0x15c], 0
xor eax, eax
xor ecx, ecx
mov edi, ecx
xor edi, 0x51
mov edx, eax
and edx, 0x1c
sub edx, edi
xor dl, byte [esp + ecx + 0x154]
add dl, 0x95
mov byte [esp + ecx + 0x154], dl
inc ecx
add eax, 2
cmp ecx, 0xc
jne 0x41a3c0
movzx eax, byte [esp + 0x154]
test al, al
je 0x41a40b
lea ecx, [esp + 0x155]
nop
nop
nop
nop
nop
nop
nop
mov byte [esi], al
inc esi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41a400
mov byte [esi], 0
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x100], eax
xor edx, edx
cmp ecx, eax
je 0x41b017
mov dword [esp + 0x34], 0x1a8
movzx eax, word [esp + 0x2c]
cmp word [esp + 0x2e], ax
je 0x41b0d1
mov dword [esp + 0x34], 0x190
mov dword [esp + 0x4c], 0x1b0
jne 0x41b0df
mov dword [esp + 0x48], 0x20
je 0x41a467
mov dword [esp + 0x48], 0x10
lea eax, [esp + 0x68]
not eax
mov dword [esp + 0xfc], eax
lea edi, [esp + 0x38]
jmp 0x41a49b
xor edi, edi
jmp 0x41b019
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x4c], 0x1b0
je 0x41a455
mov dword [esp + 0x4c], 0x198
mov dword [esp + 0x48], 0x20
jne 0x41a45f
jmp 0x41a467