Function at 0x419b30
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, 0xfffffff0
sub esp, 0xe0
mov esi, esp
mov edi, ecx
mov dword [esi + 0xcc], 0
mov dword [esi + 0xc8], 0
mov dword [esi + 0xc4], 0
mov dword [esi + 0xc0], 0
mov dword [esi + 0xbc], 0
mov dword [esi + 0xb0], 0
mov dword [esi + 0xb4], 2
mov dword [esi + 0xb8], 1
push 0x565577c1
push dword [0x4494d8]
call fcn.0043cf80
add esp, 8
lea ecx, [esi + 0x28]
lea edx, [esi + 0xb0]
push ecx
push edx
push dword [ebp + 0xc]
push dword [ebp + 8]
call eax
test eax, eax
je 0x419bcb
cmp dword [edi], 0xffffffff
jne 0x419c76
jmp 0x41a0db
push 0xb646c33f
push dword [0x4494d8]
call fcn.0043cf80
add esp, 8
mov dword [esi], eax
push 0xe7db718c
push dword [0x4494d8]
call fcn.0043cf80
add esp, 8
mov dword [esi + 8], eax
push 0xa3d60213
push dword [0x4494d8]
call fcn.0043cf80
add esp, 8
mov dword [esi + 4], eax
mov ebx, dword [esi + 0x28]
jmp 0x419c23
mov ebx, dword [ebx + 0x1c]
test ebx, ebx
je 0x419c55
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
call dword [esi]
mov dword [edi], eax
cmp eax, 0xffffffff
je 0x419c20
push dword [ebx + 0x10]
push dword [ebx + 0x18]
push eax
call dword [esi + 8]
cmp eax, 0xffffffff
jne 0x419c55
push dword [edi]
call dword [esi + 4]
mov dword [edi], 0xffffffff
jmp 0x419c20
push 0xeb17dc3b
push dword [0x4494d8]
call fcn.0043cf80
add esp, 8
push dword [esi + 0x28]
call eax
cmp dword [edi], 0xffffffff
je 0x41a0db
mov ecx, dword [ebp + 0x10]
mov eax, 0x8d
nop
nop
cmp byte [ecx + eax - 0x8d], 0
lea eax, [eax + 1]
jne 0x419c80
mov edx, dword [ebp + 8]
inc eax
cmp byte [edx], 0
lea edx, [edx + 1]
jne 0x419c90
mov edx, dword [ebp + 0xc]
nop
nop
nop
nop
inc eax
cmp byte [edx], 0
lea edx, [edx + 1]
jne 0x419ca0
mov dword [esi + 0x1c], edi
add eax, 3
and eax, 0xfffffffc
call fcn.00408200
mov eax, esp
and eax, 0xfffffff0
mov dword [esi], eax
mov esp, eax
mov dword [esi + 0x30], 0xfffec9b0
mov dword [esi + 0x34], 0x999f9afc
mov dword [esi + 0x38], 0xf3b0bc99
mov dword [esi + 0x3c], 0xed2ad6d3
mov dword [esi + 0x40], 0xa180
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
add dl, 0x1c
xor dl, byte [esi + eax + 0x30]
add dl, 0x74
mov byte [esi + eax + 0x30], dl
inc eax
cmp eax, 0x14
jne 0x419cf0
mov dword [esi + 0xc], 0x316a5865
mov byte [esi + 0x10], 0x10
mov dword [esi + 0x11], 0
xor edi, edi
xor edx, edx
nop
nop
nop
nop
mov eax, edi
and eax, 0xa
mov ebx, edx
xor ebx, 0xdce46605
add ebx, eax
movzx eax, byte [esi + edx + 0xc]
xor ebx, eax
mov eax, ebx
and eax, 1
or ebx, 1
add ebx, eax
add bl, 0xe6
mov byte [esi + edx + 0xc], bl
inc edx
add edi, 2
cmp edx, 9
jne 0x419d20
movzx eax, byte [esi + 0xc]
mov ebx, dword [esi]
test al, al
je 0x419d6b
lea edx, [esi + 0xd]
mov ebx, dword [esi]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x419d60
mov byte [ebx], 0
movzx eax, byte [ecx]
test al, al
je 0x419d8d
inc ecx
mov edx, dword [ebp + 0xc]
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x419d80
jmp 0x419d90
mov edx, dword [ebp + 0xc]
mov byte [ebx], 0
movzx eax, byte [esi + 0x30]
test al, al
je 0x419dab
lea ecx, [esi + 0x31]
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x419da0
mov byte [ebx], 0
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx]
test al, al
je 0x419dcb
inc ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x419dc0
mov byte [ebx], 0x3a
mov dword [esi + 0x30], 0x637f8b85
mov dword [esi + 0x34], 0x534f5f53
mov dword [esi + 0x38], 0x248a6355
mov dword [esi + 0x3c], 0x50554759
mov dword [esi + 0x40], 0x2f5f5a43
mov dword [esi + 0x44], 0x487da7a9
mov dword [esi + 0x48], 0x58474f4e
mov dword [esi + 0x4c], 0x41414c38
mov dword [esi + 0x50], 0x435f917a
mov dword [esi + 0x54], 0xb3afbfb3
mov dword [esi + 0x58], 0x98505cb5
mov dword [esi + 0x5c], 0xa873a6b9
mov dword [esi + 0x60], 0xb491a3bd
mov dword [esi + 0x64], 0xd3a3a6bf
mov dword [esi + 0x68], 0xd2a7826d
mov dword [esi + 0x6c], 0x848e759e
mov dword [esi + 0x70], 0x63b1a3a5
mov dword [esi + 0x74], 0x869ab89f
mov dword [esi + 0x78], 0xb4ab9285
mov dword [esi + 0x7c], 0xb0ab9091
mov dword [esi + 0x80], 0x51bd91b0
mov dword [esi + 0x84], 0x90a19ca4
mov dword [esi + 0x88], 0x616fbc83
mov dword [esi + 0x8c], 0x429588a7
mov dword [esi + 0x90], 0xa0908c9f
mov dword [esi + 0x94], 0xf2f5eefb
mov dword [esi + 0x98], 0xf6e43c84
mov dword [esi + 0x9c], 0xf0fff6f6
mov dword [esi + 0xa0], 0x3222cbf6
mov dword [esi + 0xa4], 0xa04082f
mov word [esi + 0xa8], 0x1902
mov dword [esi + 0xaa], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xdc
xor cl, byte [esi + eax + 0x30]
add cl, 0xb4
mov byte [esi + eax + 0x30], cl
mov ecx, eax
and ecx, 0x1a
xor eax, 0xdfc2ee9a
lea eax, [eax + ecx*2]
add eax, 0x203d1167
cmp eax, 0x7e
jb 0x419ee0
inc ebx
movzx eax, byte [edx]
test al, al
je 0x419f1b
inc edx
mov byte [ebx], al
inc ebx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x419f10
mov byte [ebx], 0
movzx eax, byte [esi + 0x30]
test al, al
je 0x419f3b
lea ecx, [esi + 0x31]
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x419f30
mov byte [ebx], 0
mov edi, dword [esi]
sub ebx, edi
push 0xefae2064
push dword [0x4494d8]
call fcn.0043cf80
add esp, 8
push 0
push ebx
push edi
mov edi, dword [esi + 0x1c]
push dword [edi]
call eax
cmp eax, 0xffffffff
jne 0x419fa7
cmp dword [edi], 0xffffffff
je 0x419fa7
push 0xea8d1240
push dword [0x4494d8]
call fcn.0043cf80
add esp, 8
push 2
push dword [edi]
call eax
push 0xa3d60213
push dword [0x4494d8]
call fcn.0043cf80
add esp, 8
push dword [edi]
call eax
mov dword [edi], 0xffffffff
xor eax, eax
jmp 0x41a264
cmp eax, 0xffffffff
je 0x41a0db
push 0x400
call fcn.00408230
add esp, 4
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], eax
add eax, 0x400
mov dword [esi + 0x14], eax
lea eax, [esi + 0xc]
mov ecx, edi
push eax
call fcn.0041a4e0
mov cl, 1
mov dword [esi + 8], ecx
test al, al
je 0x41a24c
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov ebx, ecx
sub ebx, eax
cmp ecx, dword [esi + 0x14]
jne 0x41a143
mov dword [esi + 8], ecx
mov dword [esi], eax
mov eax, ebx
and eax, 1
mov ecx, ebx
xor ecx, 1
lea eax, [ecx + eax*2]
mov ecx, ebx
shr ecx, 1
mov dword [esi + 0x20], ecx
lea edi, [ecx + ebx]
cmp edi, eax
ja 0x41a018
mov edi, eax
push edi
call fcn.00408230
add esp, 4
mov ecx, dword [esi]
test ecx, ecx
je 0x41a135
mov dword [esi + 0x24], edi
cmp eax, ecx
mov dword [esi + 4], ebx
mov edx, dword [esi + 8]
mov dword [esi + 0x18], eax
jbe 0x41a0e2
cmp edx, eax
jbe 0x41a0e2
test ebx, ebx
je 0x41a121
mov edx, dword [esi + 4]
lea eax, [ecx + edx]
dec eax
mov ecx, dword [esi + 0x18]
add ecx, edx
dec ecx
mov edi, edx
and edi, 7
je 0x41a07a
neg edi
xor edx, edx
movzx ebx, byte [eax + edx]
mov byte [ecx + edx], bl
dec edx
cmp edi, edx
jne 0x41a067
add eax, edx
add ecx, edx
add edx, dword [esi + 4]
mov edi, dword [esi]
sub edi, dword [esi + 8]
cmp edi, 0xfffffff8
ja 0x41a121
neg edx
xor edi, edi
movzx ebx, byte [eax + edi]
mov byte [ecx + edi], bl
movzx ebx, byte [eax + edi - 1]
mov byte [ecx + edi - 1], bl
movzx ebx, byte [eax + edi - 2]
mov byte [ecx + edi - 2], bl
movzx ebx, byte [eax + edi - 3]
mov byte [ecx + edi - 3], bl
movzx ebx, byte [eax + edi - 4]
mov byte [ecx + edi - 4], bl
movzx ebx, byte [eax + edi - 5]
mov byte [ecx + edi - 5], bl
movzx ebx, byte [eax + edi - 6]
mov byte [ecx + edi - 6], bl
movzx ebx, byte [eax + edi - 7]
mov byte [ecx + edi - 7], bl
add edi, 0xfffffff8
cmp edx, edi
jne 0x41a08c
jmp 0x41a121
xor eax, eax
jmp 0x41a264
mov edx, ecx
mov ecx, ebx
shr ecx, 2
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
lea edi, [eax + edx]
add edx, dword [esi]
mov ecx, dword [esi + 0x20]
and ecx, 1
mov eax, ebx
mov ebx, edx
mov dword [esi], edi
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
test al, 1
je 0x41a121
mov ecx, dword [esi + 4]
and ecx, 2
movzx edx, byte [edx + ecx]
mov eax, dword [esi]
mov byte [eax + ecx], dl
push dword [esi + 0xc]
call fcn.00408240
add esp, 4
mov ebx, dword [esi + 4]
mov edi, dword [esi + 0x24]
mov eax, dword [esi + 0x18]
mov dword [esi + 0xc], eax
lea ecx, [eax + ebx]
mov dword [esi + 0x10], ecx
add edi, eax
mov dword [esi + 0x14], edi
mov byte [eax + ebx], 0
mov eax, dword [esi + 0xc]
mov dword [esi], eax
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x30], 0xd9e6e7d4
mov dword [esi + 0x34], 0xca34c839
mov dword [esi + 0x38], 0xce32cc24
mov dword [esi + 0x3c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + ecx + 0x30]
lea eax, [ecx + 0x26f11343]
xor eax, edx
mov edi, 0x590eecbc
sub edi, ecx
or edi, eax
not edi
add edi, edi
sub edi, ecx
mov ebx, 0x42
sub ebx, edi
lea eax, [edi - 0x26f11343]
xor eax, edx
and ebx, edx
add ebx, ebx
sub ebx, eax
mov eax, ebx
xor eax, 0x50
and ebx, 0x2f
add ebx, ebx
sub ebx, eax
inc bl
mov byte [esi + ecx + 0x30], bl
mov eax, ecx
and eax, 1
xor ecx, 1
lea ecx, [ecx + eax*2]
cmp ecx, 0x10
jb 0x41a180
movzx edx, byte [esi + 0x30]
mov edi, dword [esi]
mov eax, edi
mov dword [esi + 4], edi
test dl, dl
mov ecx, dword [esi + 0x1c]
je 0x41a235
lea eax, [esi + 0x30]
mov dword [esi + 8], eax
mov ebx, edi
mov dword [esi + 4], edi
jmp 0x41a20d
mov eax, dword [esi + 8]
movzx edx, byte [eax]
test dl, dl
mov ecx, dword [esi + 0x1c]
je 0x41a235
movzx eax, byte [ebx]
test al, al
je 0x41a23b
inc ebx
inc dword [esi + 8]
mov ecx, dword [esi + 4]
lea edi, [ecx + 1]
cmp al, dl
je 0x41a229
mov eax, edi
mov dword [esi + 4], edi
mov ebx, edi
mov edi, dword [esi]
je 0x41a200
lea eax, [esi + 0x30]
mov dword [esi + 8], eax
jmp 0x41a200
cmp dword [esi + 4], 0
jne 0x41a27d
push 0x3ea
call fcn.00419820
mov dword [esi + 8], 0
mov eax, dword [esi + 0xc]
test eax, eax
je 0x41a261
cmp eax, dword [esi + 0x10]
je 0x41a261
push eax
call fcn.00408240
add esp, 4
mov eax, dword [esi + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
not bl
movsx eax, bl
inc ecx
add ecx, eax
mov ecx, dword [esi + 0x1c]
je 0x41a24c
mov edx, edi
mov eax, dword [esi + 0x18]
sub edx, eax
je 0x41a2a1
mov ebx, eax
xor ecx, ecx
mov dword [esi], edi
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
xor ecx, ecx
mov edi, dword [esi]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esi + 0x1c]
add dword [esi + 0x10], edx
lea eax, [esi + 0xc]
push eax
call fcn.0041a4e0
test al, al
je 0x41a245
mov dword [esi + 8], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
mov ebx, ecx
sub ebx, eax
cmp ecx, dword [esi + 0x14]
jne 0x41a420
mov dword [esi + 4], ecx
mov dword [esi], eax
mov eax, ebx
and eax, 1
mov ecx, ebx
xor ecx, 1
lea eax, [ecx + eax*2]
mov ecx, ebx
shr ecx, 1
mov dword [esi + 0x24], ecx
lea edi, [ecx + ebx]
cmp edi, eax
ja 0x41a2e6
mov edi, eax
push edi
call fcn.00408230
add esp, 4
mov ecx, dword [esi]
test ecx, ecx
je 0x41a412
mov dword [esi + 0x2c], edi
cmp eax, ecx
mov dword [esi + 0x18], ebx
mov edx, dword [esi + 4]
mov dword [esi + 0x20], eax
jbe 0x41a3bf
cmp edx, eax
jbe 0x41a3bf
test ebx, ebx
je 0x41a3fe
mov edx, dword [esi + 0x18]
lea eax, [ecx + edx]
dec eax
mov ecx, dword [esi + 0x20]
add ecx, edx
dec ecx
mov edi, edx
and edi, 7
je 0x41a353
neg edi
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax + edx]
mov byte [ecx + edx], bl
dec edx
cmp edi, edx
jne 0x41a340
add eax, edx
add ecx, edx
add edx, dword [esi + 0x18]
mov edi, dword [esi]
sub edi, dword [esi + 4]
cmp edi, 0xfffffff8
ja 0x41a3fe
neg edx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [eax + edi]
mov byte [ecx + edi], bl
movzx ebx, byte [eax + edi - 1]
mov byte [ecx + edi - 1], bl
movzx ebx, byte [eax + edi - 2]
mov byte [ecx + edi - 2], bl
movzx ebx, byte [eax + edi - 3]
mov byte [ecx + edi - 3], bl
movzx ebx, byte [eax + edi - 4]
mov byte [ecx + edi - 4], bl
movzx ebx, byte [eax + edi - 5]
mov byte [ecx + edi - 5], bl
movzx ebx, byte [eax + edi - 6]
mov byte [ecx + edi - 6], bl
movzx ebx, byte [eax + edi - 7]
mov byte [ecx + edi - 7], bl
add edi, 0xfffffff8
cmp edx, edi
jne 0x41a370
jmp 0x41a3fe
mov edx, ecx
mov ecx, ebx
shr ecx, 2
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
lea edi, [eax + edx]
add edx, dword [esi]
mov ecx, dword [esi + 0x24]
and ecx, 1
mov eax, ebx
mov ebx, edx
mov dword [esi], edi
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
test al, 1
je 0x41a3fe
mov ecx, dword [esi + 0x18]
and ecx, 2
movzx edx, byte [edx + ecx]
mov eax, dword [esi]
mov byte [eax + ecx], dl
push dword [esi + 0xc]
call fcn.00408240
add esp, 4
mov ebx, dword [esi + 0x18]
mov edi, dword [esi + 0x2c]
mov eax, dword [esi + 0x20]
mov dword [esi + 0xc], eax
lea ecx, [eax + ebx]
mov dword [esi + 0x10], ecx
add edi, eax
mov dword [esi + 0x14], edi
mov byte [eax + ebx], 0
mov eax, dword [esi + 0xc]
mov dword [esi], eax
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x10], eax
mov word [esi + 0x30], 0x3735
mov byte [esi + 0x32], 0x3e
lea eax, [esi + 0x33]
mov byte [eax + 2], 0
mov word [eax], 0
xor ecx, ecx
nop
nop
nop
nop
nop
movzx ebx, byte [esi + ecx + 0x30]
lea edi, [ecx + 0x485ee80a]
lea edx, [ebx + ebx]
not edx
add edx, ebx
mov eax, 0x3a117f5
sub eax, ecx
and eax, 0x281130b
and edi, 0x400ca814
or edi, eax
lea eax, [ecx - 0x37a117f6]
or eax, ebx
mov ebx, edi
xor ebx, 0x8ad3530b
and ebx, edx
xor edi, edx
xor edi, 0x752cacf4
add edi, edx
sub edi, ebx
and edi, eax
mov eax, edi
xor eax, 0x32
or edi, 0x162577cd
and eax, edi
add eax, edi
inc al
mov byte [esi + ecx + 0x30], al
mov eax, ecx
and eax, 1
xor ecx, 1
lea ecx, [ecx + eax*2]
cmp ecx, 6
jb 0x41a450
xor edx, edx
mov edi, dword [esi]
nop
movsx ecx, byte [edi + edx]
movzx ebx, byte [esi + edx + 0x30]
test ecx, ecx
je 0x41a270
inc edx
cmp cl, bl
je 0x41a4c0
jmp 0x41a270